.class public Lorg/zeam/Workspace;
.super Landroid/view/ViewGroup;
.source "Workspace.java"

# interfaces
.implements Lorg/zeam/DropTarget;
.implements Lorg/zeam/DragSource;
.implements Lorg/zeam/DragScroller;
.implements Landroid/view/GestureDetector$OnGestureListener;
.implements Landroid/view/ScaleGestureDetector$OnScaleGestureListener;
.implements Landroid/view/GestureDetector$OnDoubleTapListener;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lorg/zeam/Workspace$OvershootInterpolator;,
        Lorg/zeam/Workspace$SavedState;
    }
.end annotation


# static fields
.field private static final BASELINE_FLING_VELOCITY:F = 2500.0f

.field private static final FLING_VELOCITY_INFLUENCE:F = 0.4f

.field private static final INVALID_SCREEN:I = -0x1

.field private static final PREVIEWS_CLOSED:I = 0x4

.field private static final PREVIEWS_CLOSING:I = 0x2

.field private static final PREVIEWS_OPEN:I = 0x3

.field private static final PREVIEWS_OPENING:I = 0x1

.field private static final SNAP_VELOCITY:I = 0x1f4

.field private static final TOUCH_STATE_REST:I = 0x0

.field private static final TOUCH_STATE_SCROLLING:I = 0x1

.field private static final TOUCH_SWIPE_DOWN_GESTURE:I = 0x2

.field private static final TOUCH_SWIPE_UP_GESTURE:I = 0x3


# instance fields
.field private isAnimating:Z

.field protected mAllowLongPress:Z

.field private mAnimationDuration:I

.field final mClipBounds:Landroid/graphics/Rect;

.field private mColumns:I

.field private mCurrentSpan:F

.field private mDefaultScreen:I

.field private mDesktopCache:Z

.field private mDistro:[[I

.field private mDragInfo:Lorg/zeam/CellLayout$CellInfo;

.field private mDragger:Lorg/zeam/DragController;

.field final mDrawerBounds:Landroid/graphics/Rect;

.field mDrawerContentHeight:I

.field mDrawerContentWidth:I

.field private mElasticScrolling:Z

.field private mEnableOvershootInterpolatorOnScrollFinish:Z

.field private mFirstLayout:Z

.field private mGestureDetector:Landroid/view/GestureDetector;

.field private mLastMotionX:F

.field private mLastMotionY:F

.field private mLauncher:Lorg/zeam/Launcher;

.field private mLiveWallpaperSupport:Z

.field private mLocked:Z

.field private mLongClickListener:Landroid/view/View$OnLongClickListener;

.field private mMaximumVelocity:I

.field private mNextScreen:I

.field private mOvershootInterpolator:Lorg/zeam/Workspace$OvershootInterpolator;

.field private mPaint:Landroid/graphics/Paint;

.field private mPreviews:Z

.field private mRows:I

.field private mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

.field mScreenCount:I

.field protected mScreenCurrent:I

.field mScreensLoaded:I

.field private mScroller:Landroid/widget/Scroller;

.field private mScrollingBounce:I

.field private mStartTime:J

.field private mStatus:I

.field private mTargetCell:[I

.field private mTempCell:[I

.field private mTempEstimate:[I

.field private mTouchSlop:I

.field private mTouchState:I

.field private mVacantCache:Lorg/zeam/CellLayout$CellInfo;

.field private mVelocityTracker:Landroid/view/VelocityTracker;

.field private mWallpaperDraw:Z

.field private mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

.field private mWallpaperLoaded:Z

.field private final mWallpaperManager:Landroid/app/WallpaperManager;

.field private mWallpaperOffset:F

.field private mWallpaperScroll:Z

.field private mWallpaperWidth:I

.field private mWallpaperYOffset:I

.field private maxPreviewHeight:I

.field private maxPreviewWidth:I


# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .locals 1
    .parameter "context"
    .parameter "attrs"

    .prologue
    .line 130
    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Lorg/zeam/Workspace;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 131
    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .locals 7
    .parameter "context"
    .parameter "attrs"
    .parameter "defStyle"

    .prologue
    const/4 v6, 0x4

    const/4 v5, 0x3

    const/4 v2, 0x2

    const/4 v4, 0x0

    const/4 v3, 0x1

    .line 135
    invoke-direct {p0, p1, p2, p3}, Landroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    .line 43
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mFirstLayout:Z

    .line 53
    const/4 v0, -0x1

    iput v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 64
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/zeam/Workspace;->mTargetCell:[I

    .line 70
    iput v4, p0, Lorg/zeam/Workspace;->mTouchState:I

    .line 75
    const/high16 v0, -0x4080

    iput v0, p0, Lorg/zeam/Workspace;->mCurrentSpan:F

    .line 79
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    .line 81
    new-array v0, v2, [I

    iput-object v0, p0, Lorg/zeam/Workspace;->mTempCell:[I

    .line 82
    new-array v0, v2, [I

    iput-object v0, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    .line 88
    new-instance v0, Landroid/graphics/Rect;

    invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V

    iput-object v0, p0, Lorg/zeam/Workspace;->mDrawerBounds:Landroid/graphics/Rect;

    .line 89
    new-instance v0, Landroid/graphics/Rect;

    invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V

    iput-object v0, p0, Lorg/zeam/Workspace;->mClipBounds:Landroid/graphics/Rect;

    .line 91
    iput v4, p0, Lorg/zeam/Workspace;->mScreenCount:I

    .line 92
    iput v4, p0, Lorg/zeam/Workspace;->mScreensLoaded:I

    .line 101
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mWallpaperDraw:Z

    .line 102
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mWallpaperScroll:Z

    .line 103
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    .line 105
    const/16 v0, 0x32

    iput v0, p0, Lorg/zeam/Workspace;->mScrollingBounce:I

    .line 111
    iput-boolean v4, p0, Lorg/zeam/Workspace;->isAnimating:Z

    .line 112
    iput-boolean v4, p0, Lorg/zeam/Workspace;->mPreviews:Z

    .line 115
    iput v6, p0, Lorg/zeam/Workspace;->mStatus:I

    .line 116
    const/16 v0, 0x190

    iput v0, p0, Lorg/zeam/Workspace;->mAnimationDuration:I

    .line 118
    const/4 v0, 0x7

    new-array v0, v0, [[I

    new-array v1, v3, [I

    aput v3, v1, v4

    aput-object v1, v0, v4

    new-array v1, v3, [I

    aput v2, v1, v4

    aput-object v1, v0, v3

    new-array v1, v2, [I

    fill-array-data v1, :array_0

    aput-object v1, v0, v2

    new-array v1, v2, [I

    fill-array-data v1, :array_1

    aput-object v1, v0, v5

    new-array v1, v5, [I

    fill-array-data v1, :array_2

    aput-object v1, v0, v6

    const/4 v1, 0x5

    new-array v2, v5, [I

    fill-array-data v2, :array_3

    aput-object v2, v0, v1

    const/4 v1, 0x6

    new-array v2, v5, [I

    fill-array-data v2, :array_4

    aput-object v2, v0, v1

    iput-object v0, p0, Lorg/zeam/Workspace;->mDistro:[[I

    .line 125
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mDesktopCache:Z

    .line 136
    invoke-static {p1}, Landroid/app/WallpaperManager;->getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;

    move-result-object v0

    iput-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    .line 137
    invoke-static {p1}, Lorg/zeam/PreferencesUtil;->getNumberOfScreens(Landroid/content/Context;)I

    move-result v0

    iput v0, p0, Lorg/zeam/Workspace;->mScreenCount:I

    .line 138
    invoke-static {p1}, Lorg/zeam/PreferencesUtil;->getDefaultScreen(Landroid/content/Context;)I

    move-result v0

    iput v0, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    .line 139
    iget v0, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    iget v1, p0, Lorg/zeam/Workspace;->mScreenCount:I

    sub-int/2addr v1, v3

    if-le v0, v1, :cond_0

    .line 140
    iput v4, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    .line 142
    :cond_0
    invoke-direct {p0}, Lorg/zeam/Workspace;->initWorkspace()V

    .line 143
    return-void

    .line 118
    :array_0
    .array-data 0x4
        0x1t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
    .end array-data

    :array_1
    .array-data 0x4
        0x2t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
    .end array-data

    :array_2
    .array-data 0x4
        0x2t 0x0t 0x0t 0x0t
        0x1t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
    .end array-data

    :array_3
    .array-data 0x4
        0x2t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
    .end array-data

    :array_4
    .array-data 0x4
        0x2t 0x0t 0x0t 0x0t
        0x3t 0x0t 0x0t 0x0t
        0x2t 0x0t 0x0t 0x0t
    .end array-data
.end method

.method private centerWallpaperOffset()V
    .locals 4

    .prologue
    const/high16 v3, 0x3f00

    const/4 v2, 0x0

    .line 414
    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {v0, v3, v2}, Landroid/app/WallpaperManager;->setWallpaperOffsetSteps(FF)V

    .line 415
    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWindowToken()Landroid/os/IBinder;

    move-result-object v1

    invoke-virtual {v0, v1, v3, v2}, Landroid/app/WallpaperManager;->setWallpaperOffsets(Landroid/os/IBinder;FF)V

    .line 416
    return-void
.end method

.method private clearVacantCache()V
    .locals 1

    .prologue
    .line 389
    iget-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    if-eqz v0, :cond_0

    .line 390
    iget-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    invoke-virtual {v0}, Lorg/zeam/CellLayout$CellInfo;->clearVacantCells()V

    .line 391
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    .line 393
    :cond_0
    return-void
.end method

.method static easeIn(FFFF)F
    .locals 4
    .parameter "time"
    .parameter "begin"
    .parameter "end"
    .parameter "duration"

    .prologue
    const/4 v3, 0x0

    .line 1763
    sub-float v0, p2, p1

    .line 1764
    .local v0, change:F
    div-float/2addr p0, p3

    mul-float v2, v0, p0

    mul-float/2addr v2, p0

    mul-float/2addr v2, p0

    add-float v1, v2, p1

    .line 1765
    .local v1, value:F
    cmpl-float v2, v0, v3

    if-lez v2, :cond_0

    cmpl-float v2, v1, p2

    if-lez v2, :cond_0

    .line 1766
    move v1, p2

    .line 1768
    :cond_0
    cmpg-float v2, v0, v3

    if-gez v2, :cond_1

    cmpg-float v2, v1, p2

    if-gez v2, :cond_1

    .line 1769
    move v1, p2

    .line 1771
    :cond_1
    return v1
.end method

.method static easeInOut(FFFF)F
    .locals 4
    .parameter "time"
    .parameter "begin"
    .parameter "end"
    .parameter "duration"

    .prologue
    const/high16 v3, 0x4000

    .line 1776
    sub-float v0, p2, p1

    .line 1777
    .local v0, change:F
    div-float v1, p3, v3

    div-float/2addr p0, v1

    const/high16 v1, 0x3f80

    cmpg-float v1, p0, v1

    if-gez v1, :cond_0

    .line 1778
    div-float v1, v0, v3

    mul-float/2addr v1, p0

    mul-float/2addr v1, p0

    mul-float/2addr v1, p0

    add-float/2addr v1, p1

    .line 1780
    :goto_0
    return v1

    :cond_0
    div-float v1, v0, v3

    sub-float/2addr p0, v3

    mul-float v2, p0, p0

    mul-float/2addr v2, p0

    add-float/2addr v2, v3

    mul-float/2addr v1, v2

    add-float/2addr v1, p1

    goto :goto_0
.end method

.method static easeOut(FFFF)F
    .locals 5
    .parameter "time"
    .parameter "begin"
    .parameter "end"
    .parameter "duration"

    .prologue
    const/high16 v4, 0x3f80

    const/4 v3, 0x0

    .line 1750
    sub-float v0, p2, p1

    .line 1751
    .local v0, change:F
    div-float v2, p0, p3

    sub-float p0, v2, v4

    mul-float v2, p0, p0

    mul-float/2addr v2, p0

    add-float/2addr v2, v4

    mul-float/2addr v2, v0

    add-float v1, v2, p1

    .line 1752
    .local v1, value:F
    cmpl-float v2, v0, v3

    if-lez v2, :cond_0

    cmpl-float v2, v1, p2

    if-lez v2, :cond_0

    .line 1753
    move v1, p2

    .line 1755
    :cond_0
    cmpg-float v2, v0, v3

    if-gez v2, :cond_1

    cmpg-float v2, v1, p2

    if-gez v2, :cond_1

    .line 1756
    move v1, p2

    .line 1758
    :cond_1
    return v1
.end method

.method private estimateDropCell(IIIILandroid/view/View;Lorg/zeam/CellLayout;[I)[I
    .locals 7
    .parameter "pixelX"
    .parameter "pixelY"
    .parameter "spanX"
    .parameter "spanY"
    .parameter "ignoreView"
    .parameter "layout"
    .parameter "recycle"

    .prologue
    .line 1278
    iget-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    if-nez v0, :cond_0

    .line 1279
    const/4 v0, 0x0

    invoke-virtual {p6, v0, p5}, Lorg/zeam/CellLayout;->findAllVacantCells([ZLandroid/view/View;)Lorg/zeam/CellLayout$CellInfo;

    move-result-object v0

    iput-object v0, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    .line 1281
    :cond_0
    iget-object v5, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    move-object v0, p6

    move v1, p1

    move v2, p2

    move v3, p3

    move v4, p4

    move-object v6, p7

    invoke-virtual/range {v0 .. v6}, Lorg/zeam/CellLayout;->findNearestVacantArea(IIIILorg/zeam/CellLayout$CellInfo;[I)[I

    move-result-object v0

    return-object v0
.end method

.method private expandPreview(FF)V
    .locals 4
    .parameter "x"
    .parameter "y"

    .prologue
    .line 1832
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v2

    if-lt v0, v2, :cond_0

    .line 1849
    return-void

    .line 1833
    :cond_0
    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    invoke-direct {p0, v2}, Lorg/zeam/Workspace;->getScaledChild(Landroid/view/View;)Landroid/graphics/RectF;

    move-result-object v1

    .line 1834
    .local v1, tmp:Landroid/graphics/RectF;
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v2

    int-to-float v2, v2

    add-float/2addr v2, p1

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollY()I

    move-result v3

    int-to-float v3, v3

    add-float/2addr v3, p2

    invoke-virtual {v1, v2, v3}, Landroid/graphics/RectF;->contains(FF)Z

    move-result v2

    if-eqz v2, :cond_2

    .line 1835
    iget v2, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-eq v2, v0, :cond_3

    .line 1837
    iget-object v2, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v2}, Lorg/zeam/Launcher;->dismissPreviews()V

    .line 1838
    invoke-virtual {p0}, Lorg/zeam/Workspace;->isElasticScrollingEnabled()Z

    move-result v2

    if-eqz v2, :cond_1

    .line 1839
    const/4 v2, 0x0

    invoke-virtual {p0, v2}, Lorg/zeam/Workspace;->setElasticScrolling(Z)V

    .line 1840
    const/4 v2, 0x1

    iput-boolean v2, p0, Lorg/zeam/Workspace;->mEnableOvershootInterpolatorOnScrollFinish:Z

    .line 1842
    :cond_1
    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 1843
    invoke-virtual {p0}, Lorg/zeam/Workspace;->postInvalidate()V

    .line 1832
    :cond_2
    :goto_1
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 1845
    :cond_3
    iget-object v2, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v2}, Lorg/zeam/Launcher;->dismissPreviews()V

    goto :goto_1
.end method

.method private findSearchWidget(Lorg/zeam/CellLayout;)Lorg/zeam/Search;
    .locals 4
    .parameter "screen"

    .prologue
    .line 246
    invoke-virtual {p1}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v0

    .line 247
    .local v0, count:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, v0, :cond_0

    .line 253
    const/4 v3, 0x0

    :goto_1
    return-object v3

    .line 248
    :cond_0
    invoke-virtual {p1, v1}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    .line 249
    .local v2, view:Landroid/view/View;
    instance-of v3, v2, Lorg/zeam/Search;

    if-eqz v3, :cond_1

    .line 250
    check-cast v2, Lorg/zeam/Search;

    .end local v2           #view:Landroid/view/View;
    move-object v3, v2

    goto :goto_1

    .line 247
    .restart local v2       #view:Landroid/view/View;
    :cond_1
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method private getCurrentDropLayout()Lorg/zeam/CellLayout;
    .locals 2

    .prologue
    .line 1222
    iget-object v1, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v1}, Landroid/widget/Scroller;->isFinished()Z

    move-result v1

    if-eqz v1, :cond_0

    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v0, v1

    .line 1223
    .local v0, index:I
    :goto_0
    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object p0

    .end local p0
    check-cast p0, Lorg/zeam/CellLayout;

    return-object p0

    .line 1222
    .end local v0           #index:I
    .restart local p0
    :cond_0
    iget v1, p0, Lorg/zeam/Workspace;->mNextScreen:I

    move v0, v1

    goto :goto_0
.end method

.method private getScaledChild(Landroid/view/View;)Landroid/graphics/RectF;
    .locals 23
    .parameter "child"

    .prologue
    .line 1785
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v7

    .line 1786
    .local v7, count:I
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v15

    .line 1787
    .local v15, width:I
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getHeight()I

    move-result v9

    .line 1789
    .local v9, height:I
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v16

    .line 1790
    .local v16, xpos:I
    const/16 v17, 0x0

    .line 1791
    .local v17, ypos:I
    const/16 v18, 0x1

    sub-int v8, v7, v18

    .line 1792
    .local v8, distroSet:I
    const/4 v4, 0x0

    .line 1793
    .local v4, childPos:I
    const/4 v11, 0x0

    .line 1795
    .local v11, maxItemsPerRow:I
    const/4 v12, 0x0

    .local v12, rows:I
    :goto_0
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v18, v0

    aget-object v18, v18, v8

    move-object/from16 v0, v18

    array-length v0, v0

    move/from16 v18, v0

    move v0, v12

    move/from16 v1, v18

    if-lt v0, v1, :cond_1

    .line 1800
    div-int v5, v15, v11

    .line 1801
    .local v5, childWidth:I
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->maxPreviewWidth:I

    move/from16 v18, v0

    move v0, v5

    move/from16 v1, v18

    if-le v0, v1, :cond_0

    .line 1802
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->maxPreviewWidth:I

    move v5, v0

    .line 1805
    :cond_0
    move v0, v5

    int-to-float v0, v0

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->maxPreviewWidth:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    div-float v13, v18, v19

    .line 1806
    .local v13, scale:F
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->maxPreviewHeight:I

    move/from16 v18, v0

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    mul-float v18, v18, v13

    invoke-static/range {v18 .. v18}, Ljava/lang/Math;->round(F)I

    move-result v3

    .line 1807
    .local v3, childHeight:I
    div-int/lit8 v18, v9, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v19, v0

    aget-object v19, v19, v8

    move-object/from16 v0, v19

    array-length v0, v0

    move/from16 v19, v0

    mul-int v19, v19, v3

    div-int/lit8 v19, v19, 0x2

    sub-int v14, v18, v19

    .line 1808
    .local v14, topMargin:I
    const/4 v12, 0x0

    :goto_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v18, v0

    aget-object v18, v18, v8

    move-object/from16 v0, v18

    array-length v0, v0

    move/from16 v18, v0

    move v0, v12

    move/from16 v1, v18

    if-lt v0, v1, :cond_3

    .line 1827
    new-instance v18, Landroid/graphics/RectF;

    invoke-direct/range {v18 .. v18}, Landroid/graphics/RectF;-><init>()V

    :goto_2
    return-object v18

    .line 1796
    .end local v3           #childHeight:I
    .end local v5           #childWidth:I
    .end local v13           #scale:F
    .end local v14           #topMargin:I
    :cond_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v18, v0

    aget-object v18, v18, v8

    aget v18, v18, v12

    move/from16 v0, v18

    move v1, v11

    if-le v0, v1, :cond_2

    .line 1797
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v18, v0

    aget-object v18, v18, v8

    aget v11, v18, v12

    .line 1795
    :cond_2
    add-int/lit8 v12, v12, 0x1

    goto/16 :goto_0

    .line 1809
    .restart local v3       #childHeight:I
    .restart local v5       #childWidth:I
    .restart local v13       #scale:F
    .restart local v14       #topMargin:I
    :cond_3
    div-int/lit8 v18, v15, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v19, v0

    aget-object v19, v19, v8

    aget v19, v19, v12

    mul-int v19, v19, v5

    div-int/lit8 v19, v19, 0x2

    sub-int v10, v18, v19

    .line 1810
    .local v10, leftMargin:I
    const/4 v6, 0x0

    .local v6, columns:I
    :goto_3
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDistro:[[I

    move-object/from16 v18, v0

    aget-object v18, v18, v8

    aget v18, v18, v12

    move v0, v6

    move/from16 v1, v18

    if-lt v0, v1, :cond_5

    .line 1824
    :cond_4
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v16

    .line 1825
    add-int v17, v17, v3

    .line 1808
    add-int/lit8 v12, v12, 0x1

    goto :goto_1

    .line 1811
    :cond_5
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v18

    const/16 v19, 0x1

    sub-int v18, v18, v19

    move v0, v4

    move/from16 v1, v18

    if-gt v0, v1, :cond_4

    .line 1814
    move-object/from16 v0, p0

    move v1, v4

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    .line 1815
    .local v2, c:Landroid/view/View;
    move-object/from16 v0, p1

    move-object v1, v2

    if-ne v0, v1, :cond_6

    .line 1816
    new-instance v18, Landroid/graphics/RectF;

    add-int v19, v10, v16

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    add-int v20, v14, v17

    move/from16 v0, v20

    int-to-float v0, v0

    move/from16 v20, v0

    .line 1817
    add-int v21, v10, v16

    add-int v21, v21, v5

    move/from16 v0, v21

    int-to-float v0, v0

    move/from16 v21, v0

    add-int v22, v14, v17

    add-int v22, v22, v3

    move/from16 v0, v22

    int-to-float v0, v0

    move/from16 v22, v0

    .line 1816
    invoke-direct/range {v18 .. v22}, Landroid/graphics/RectF;-><init>(FFFF)V

    goto/16 :goto_2

    .line 1820
    :cond_6
    add-int v16, v16, v5

    .line 1822
    add-int/lit8 v4, v4, 0x1

    .line 1810
    add-int/lit8 v6, v6, 0x1

    goto :goto_3
.end method

.method private initWorkspace()V
    .locals 4

    .prologue
    .line 147
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getContext()Landroid/content/Context;

    move-result-object v1

    .line 148
    .local v1, context:Landroid/content/Context;
    new-instance v2, Lorg/zeam/Workspace$OvershootInterpolator;

    invoke-direct {v2}, Lorg/zeam/Workspace$OvershootInterpolator;-><init>()V

    iput-object v2, p0, Lorg/zeam/Workspace;->mOvershootInterpolator:Lorg/zeam/Workspace$OvershootInterpolator;

    .line 149
    new-instance v2, Landroid/widget/Scroller;

    iget-object v3, p0, Lorg/zeam/Workspace;->mOvershootInterpolator:Lorg/zeam/Workspace$OvershootInterpolator;

    invoke-direct {v2, v1, v3}, Landroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V

    iput-object v2, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    .line 150
    iget v2, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    iput v2, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 152
    iget v2, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-static {v2}, Lorg/zeam/Launcher;->setScreen(I)V

    .line 154
    new-instance v2, Landroid/graphics/Paint;

    invoke-direct {v2}, Landroid/graphics/Paint;-><init>()V

    iput-object v2, p0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    .line 155
    iget-object v2, p0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    const/4 v3, 0x0

    invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setDither(Z)V

    .line 157
    invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;

    move-result-object v0

    .line 158
    .local v0, configuration:Landroid/view/ViewConfiguration;
    invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I

    move-result v2

    iput v2, p0, Lorg/zeam/Workspace;->mMaximumVelocity:I

    .line 159
    invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I

    move-result v2

    iput v2, p0, Lorg/zeam/Workspace;->mTouchSlop:I

    .line 161
    invoke-static {v1}, Lorg/zeam/PreferencesUtil;->getContentGridRows(Landroid/content/Context;)I

    move-result v2

    iput v2, p0, Lorg/zeam/Workspace;->mRows:I

    .line 162
    invoke-static {v1}, Lorg/zeam/PreferencesUtil;->getContentGridColumns(Landroid/content/Context;)I

    move-result v2

    iput v2, p0, Lorg/zeam/Workspace;->mColumns:I

    .line 164
    const/4 v2, 0x1

    iput-boolean v2, p0, Lorg/zeam/Workspace;->mDesktopCache:Z

    .line 165
    new-instance v2, Landroid/view/GestureDetector;

    invoke-direct {v2, p0}, Landroid/view/GestureDetector;-><init>(Landroid/view/GestureDetector$OnGestureListener;)V

    iput-object v2, p0, Lorg/zeam/Workspace;->mGestureDetector:Landroid/view/GestureDetector;

    .line 166
    iget-object v2, p0, Lorg/zeam/Workspace;->mGestureDetector:Landroid/view/GestureDetector;

    invoke-virtual {v2, p0}, Landroid/view/GestureDetector;->setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V

    .line 167
    new-instance v2, Landroid/view/ScaleGestureDetector;

    invoke-direct {v2, v1, p0}, Landroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V

    iput-object v2, p0, Lorg/zeam/Workspace;->mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

    .line 168
    return-void
.end method

.method private onDropExternal(IILjava/lang/Object;Lorg/zeam/CellLayout;)V
    .locals 6
    .parameter "x"
    .parameter "y"
    .parameter "dragInfo"
    .parameter "cellLayout"

    .prologue
    .line 1173
    const/4 v5, 0x0

    move-object v0, p0

    move v1, p1

    move v2, p2

    move-object v3, p3

    move-object v4, p4

    invoke-direct/range {v0 .. v5}, Lorg/zeam/Workspace;->onDropExternal(IILjava/lang/Object;Lorg/zeam/CellLayout;Z)V

    .line 1174
    return-void
.end method

.method private onDropExternal(IILjava/lang/Object;Lorg/zeam/CellLayout;Z)V
    .locals 21
    .parameter "x"
    .parameter "y"
    .parameter "dragInfo"
    .parameter "cellLayout"
    .parameter "insertAtFirst"

    .prologue
    .line 1181
    move-object/from16 v0, p3

    check-cast v0, Lorg/zeam/ItemInfo;

    move-object/from16 v17, v0

    .line 1183
    .local v17, itemInfo:Lorg/zeam/ItemInfo;
    move-object/from16 v0, v17

    iget v0, v0, Lorg/zeam/ItemInfo;->itemType:I

    move v4, v0

    packed-switch v4, :pswitch_data_0

    .line 1203
    :pswitch_0
    new-instance v4, Ljava/lang/IllegalStateException;

    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "Unknown item type: "

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v17

    iget v0, v0, Lorg/zeam/ItemInfo;->itemType:I

    move v6, v0

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v4

    .line 1185
    :pswitch_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v4, v0

    move-object/from16 v0, v17

    check-cast v0, Lorg/zeam/ApplicationsGridItemInfo;

    move-object/from16 v18, v0

    move-object v0, v4

    move-object/from16 v1, v18

    invoke-virtual {v0, v1}, Lorg/zeam/Launcher;->createApplicationsGridItemView(Lorg/zeam/ApplicationsGridItemInfo;)Landroid/view/View;

    move-result-object v9

    .line 1206
    .end local p3
    .local v9, view:Landroid/view/View;
    :goto_0
    if-eqz p5, :cond_1

    const/4 v4, 0x0

    :goto_1
    move-object/from16 v0, p4

    move-object v1, v9

    move v2, v4

    invoke-virtual {v0, v1, v2}, Lorg/zeam/CellLayout;->addView(Landroid/view/View;I)V

    .line 1207
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLongClickListener:Landroid/view/View$OnLongClickListener;

    move-object v4, v0

    invoke-virtual {v9, v4}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V

    .line 1208
    const/4 v7, 0x1

    const/4 v8, 0x1

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTargetCell:[I

    move-object v11, v0

    move-object/from16 v4, p0

    move/from16 v5, p1

    move/from16 v6, p2

    move-object/from16 v10, p4

    invoke-direct/range {v4 .. v11}, Lorg/zeam/Workspace;->estimateDropCell(IIIILandroid/view/View;Lorg/zeam/CellLayout;[I)[I

    move-result-object v4

    move-object v0, v4

    move-object/from16 v1, p0

    iput-object v0, v1, Lorg/zeam/Workspace;->mTargetCell:[I

    .line 1209
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTargetCell:[I

    move-object v4, v0

    move-object/from16 v0, p4

    move-object v1, v9

    move-object v2, v4

    invoke-virtual {v0, v1, v2}, Lorg/zeam/CellLayout;->onDropChild(Landroid/view/View;[I)V

    .line 1211
    invoke-virtual {v9}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v20

    check-cast v20, Lorg/zeam/CellLayout$LayoutParams;

    .line 1212
    .local v20, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    invoke-static {}, Lorg/zeam/Launcher;->getModel()Lorg/zeam/LauncherModel;

    move-result-object v19

    .line 1214
    .local v19, launcherModel:Lorg/zeam/LauncherModel;
    move-object/from16 v0, v19

    move-object/from16 v1, v17

    invoke-virtual {v0, v1}, Lorg/zeam/LauncherModel;->addDesktopItem(Lorg/zeam/ItemInfo;)V

    .line 1215
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v10, v0

    .line 1216
    const-wide/16 v12, -0x64

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v14, v0

    .line 1217
    move-object/from16 v0, v20

    iget v0, v0, Lorg/zeam/CellLayout$LayoutParams;->cellX:I

    move v15, v0

    move-object/from16 v0, v20

    iget v0, v0, Lorg/zeam/CellLayout$LayoutParams;->cellY:I

    move/from16 v16, v0

    move-object/from16 v11, v17

    .line 1215
    invoke-static/range {v10 .. v16}, Lorg/zeam/LauncherModel;->addOrMoveItemInDatabase(Landroid/content/Context;Lorg/zeam/ItemInfo;JIII)V

    .line 1218
    return-void

    .line 1189
    .end local v9           #view:Landroid/view/View;
    .end local v19           #launcherModel:Lorg/zeam/LauncherModel;
    .end local v20           #layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    .restart local p3
    :pswitch_2
    move-object/from16 v0, v17

    iget-wide v0, v0, Lorg/zeam/ItemInfo;->container:J

    move-wide v4, v0

    const-wide/16 v6, -0x1

    cmp-long v4, v4, v6

    if-nez v4, :cond_0

    .line 1190
    new-instance v18, Lorg/zeam/ApplicationItemInfo;

    check-cast v17, Lorg/zeam/ApplicationItemInfo;

    .end local v17           #itemInfo:Lorg/zeam/ItemInfo;
    move-object/from16 v0, v18

    move-object/from16 v1, v17

    invoke-direct {v0, v1}, Lorg/zeam/ApplicationItemInfo;-><init>(Lorg/zeam/ApplicationItemInfo;)V

    .local v18, itemInfo:Lorg/zeam/ItemInfo;
    move-object/from16 v17, v18

    .line 1192
    .end local v18           #itemInfo:Lorg/zeam/ItemInfo;
    .restart local v17       #itemInfo:Lorg/zeam/ItemInfo;
    :cond_0
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v4, v0

    const/high16 v5, 0x7f03

    move-object/from16 v0, v17

    check-cast v0, Lorg/zeam/ApplicationItemInfo;

    move-object/from16 v18, v0

    move-object v0, v4

    move v1, v5

    move-object/from16 v2, p4

    move-object/from16 v3, v18

    invoke-virtual {v0, v1, v2, v3}, Lorg/zeam/Launcher;->createShortcut(ILandroid/view/ViewGroup;Lorg/zeam/ApplicationItemInfo;)Landroid/view/View;

    move-result-object v9

    .line 1193
    .restart local v9       #view:Landroid/view/View;
    goto/16 :goto_0

    .line 1195
    .end local v9           #view:Landroid/view/View;
    :pswitch_3
    const v4, 0x7f03000c

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v5, v0

    .line 1196
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v6, v0

    move-object/from16 v0, p0

    move v1, v6

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object p3

    .end local p3
    check-cast p3, Landroid/view/ViewGroup;

    move-object/from16 v0, v17

    check-cast v0, Lorg/zeam/UserFolderInfo;

    move-object/from16 v18, v0

    .line 1195
    move v0, v4

    move-object v1, v5

    move-object/from16 v2, p3

    move-object/from16 v3, v18

    invoke-static {v0, v1, v2, v3}, Lorg/zeam/FolderIcon;->fromXml(ILorg/zeam/Launcher;Landroid/view/ViewGroup;Lorg/zeam/UserFolderInfo;)Lorg/zeam/FolderIcon;

    move-result-object v9

    .line 1197
    .restart local v9       #view:Landroid/view/View;
    goto/16 :goto_0

    .line 1199
    .end local v9           #view:Landroid/view/View;
    .restart local p3
    :pswitch_4
    const v4, 0x7f030011

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v5, v0

    .line 1200
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v6, v0

    move-object/from16 v0, p0

    move v1, v6

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object p3

    .end local p3
    check-cast p3, Landroid/view/ViewGroup;

    move-object/from16 v0, v17

    check-cast v0, Lorg/zeam/LiveFolderInfo;

    move-object/from16 v18, v0

    .line 1199
    move v0, v4

    move-object v1, v5

    move-object/from16 v2, p3

    move-object/from16 v3, v18

    invoke-static {v0, v1, v2, v3}, Lorg/zeam/LiveFolderIcon;->fromXml(ILorg/zeam/Launcher;Landroid/view/ViewGroup;Lorg/zeam/LiveFolderInfo;)Lorg/zeam/LiveFolderIcon;

    move-result-object v9

    .line 1201
    .restart local v9       #view:Landroid/view/View;
    goto/16 :goto_0

    .line 1206
    :cond_1
    const/4 v4, -0x1

    goto/16 :goto_1

    .line 1183
    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_2
        :pswitch_2
        :pswitch_3
        :pswitch_4
        :pswitch_0
        :pswitch_0
        :pswitch_1
    .end packed-switch
.end method

.method private snapToDestination()V
    .locals 4

    .prologue
    .line 1012
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v0

    .line 1013
    .local v0, screenWidth:I
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v2

    div-int/lit8 v3, v0, 0x2

    add-int/2addr v2, v3

    div-int v1, v2, v0

    .line 1014
    .local v1, whichScreen:I
    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 1015
    return-void
.end method

.method private snapToScreen(II)V
    .locals 10
    .parameter "whichScreen"
    .parameter "velocity"

    .prologue
    const/4 v1, 0x1

    const/4 v2, 0x0

    .line 1025
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    sub-int/2addr v0, v1

    invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I

    move-result v0

    invoke-static {v2, v0}, Ljava/lang/Math;->max(II)I

    move-result p1

    .line 1027
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1028
    invoke-virtual {p0}, Lorg/zeam/Workspace;->enableChildrenCache()V

    .line 1029
    iput p1, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 1031
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getFocusedChild()Landroid/view/View;

    move-result-object v6

    .line 1032
    .local v6, focusedChild:Landroid/view/View;
    if-eqz v6, :cond_0

    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-eq p1, v0, :cond_0

    .line 1033
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    if-ne v6, v0, :cond_0

    .line 1034
    invoke-virtual {v6}, Landroid/view/View;->clearFocus()V

    .line 1037
    :cond_0
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    sub-int v0, p1, v0

    invoke-static {v0}, Ljava/lang/Math;->abs(I)I

    move-result v0

    invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I

    move-result v8

    .line 1038
    .local v8, screenDelta:I
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v0

    mul-int v7, p1, v0

    .line 1039
    .local v7, newX:I
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v0

    sub-int v3, v7, v0

    .line 1040
    .local v3, delta:I
    add-int/lit8 v0, v8, 0x1

    mul-int/lit8 v5, v0, 0x64

    .line 1042
    .local v5, duration:I
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v0}, Landroid/widget/Scroller;->isFinished()Z

    move-result v0

    if-nez v0, :cond_1

    .line 1043
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v0}, Landroid/widget/Scroller;->abortAnimation()V

    .line 1045
    :cond_1
    invoke-static {p2}, Ljava/lang/Math;->abs(I)I

    move-result p2

    .line 1046
    if-lez p2, :cond_2

    .line 1047
    int-to-float v0, v5

    int-to-float v1, v5

    int-to-float v4, p2

    const v9, 0x451c4000

    div-float/2addr v4, v9

    div-float/2addr v1, v4

    const v4, 0x3ecccccd

    mul-float/2addr v1, v4

    add-float/2addr v0, v1

    float-to-int v5, v0

    .line 1052
    :goto_0
    invoke-virtual {p0, v5}, Lorg/zeam/Workspace;->awakenScrollBars(I)Z

    .line 1053
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v1

    move v4, v2

    invoke-virtual/range {v0 .. v5}, Landroid/widget/Scroller;->startScroll(IIIII)V

    .line 1054
    invoke-virtual {p0}, Lorg/zeam/Workspace;->invalidate()V

    .line 1055
    return-void

    .line 1049
    :cond_2
    add-int/lit8 v5, v5, 0x64

    goto :goto_0
.end method

.method private updateWallpaperOffset()V
    .locals 3

    .prologue
    .line 407
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mWallpaperScroll:Z

    if-eqz v0, :cond_0

    .line 408
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    const/4 v1, 0x1

    sub-int/2addr v0, v1

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    invoke-virtual {v0}, Landroid/view/View;->getRight()I

    move-result v0

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v1

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getLeft()I

    move-result v2

    sub-int/2addr v1, v2

    sub-int/2addr v0, v1

    invoke-direct {p0, v0}, Lorg/zeam/Workspace;->updateWallpaperOffset(I)V

    .line 410
    :cond_0
    return-void
.end method

.method private updateWallpaperOffset(I)V
    .locals 5
    .parameter "scrollRange"

    .prologue
    const/4 v3, 0x1

    const/4 v4, 0x0

    .line 420
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v0

    if-lez v0, :cond_0

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v0

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v1

    sub-int/2addr v1, v3

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    invoke-virtual {v1}, Landroid/view/View;->getLeft()I

    move-result v1

    if-ge v0, v1, :cond_0

    .line 421
    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    const/high16 v1, 0x3f80

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v2

    sub-int/2addr v2, v3

    int-to-float v2, v2

    div-float/2addr v1, v2

    invoke-virtual {v0, v1, v4}, Landroid/app/WallpaperManager;->setWallpaperOffsetSteps(FF)V

    .line 422
    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWindowToken()Landroid/os/IBinder;

    move-result-object v1

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v2

    int-to-float v2, v2

    int-to-float v3, p1

    div-float/2addr v2, v3

    invoke-virtual {v0, v1, v2, v4}, Landroid/app/WallpaperManager;->setWallpaperOffsets(Landroid/os/IBinder;FF)V

    .line 424
    :cond_0
    return-void
.end method


# virtual methods
.method public acceptDrop(Lorg/zeam/DragSource;IIIILjava/lang/Object;)Z
    .locals 8
    .parameter "source"
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "dragInfo"

    .prologue
    const/4 v7, 0x0

    const/4 v6, 0x1

    .line 1228
    invoke-direct {p0}, Lorg/zeam/Workspace;->getCurrentDropLayout()Lorg/zeam/CellLayout;

    move-result-object v2

    .line 1229
    .local v2, layout:Lorg/zeam/CellLayout;
    iget-object v0, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    .line 1230
    .local v0, cellInfo:Lorg/zeam/CellLayout$CellInfo;
    if-nez v0, :cond_1

    move v3, v6

    .line 1231
    .local v3, spanX:I
    :goto_0
    if-nez v0, :cond_2

    move v4, v6

    .line 1233
    .local v4, spanY:I
    :goto_1
    iget-object v5, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    if-nez v5, :cond_0

    .line 1234
    if-nez v0, :cond_3

    move-object v1, v7

    .line 1235
    .local v1, ignoreView:Landroid/view/View;
    :goto_2
    invoke-virtual {v2, v7, v1}, Lorg/zeam/CellLayout;->findAllVacantCells([ZLandroid/view/View;)Lorg/zeam/CellLayout$CellInfo;

    move-result-object v5

    iput-object v5, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    .line 1237
    .end local v1           #ignoreView:Landroid/view/View;
    :cond_0
    iget-object v5, p0, Lorg/zeam/Workspace;->mVacantCache:Lorg/zeam/CellLayout$CellInfo;

    iget-object v6, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    const/4 v7, 0x0

    invoke-virtual {v5, v6, v3, v4, v7}, Lorg/zeam/CellLayout$CellInfo;->findCellForSpan([IIIZ)Z

    move-result v5

    return v5

    .line 1230
    .end local v3           #spanX:I
    .end local v4           #spanY:I
    :cond_1
    iget v5, v0, Lorg/zeam/CellLayout$CellInfo;->spanX:I

    move v3, v5

    goto :goto_0

    .line 1231
    .restart local v3       #spanX:I
    :cond_2
    iget v5, v0, Lorg/zeam/CellLayout$CellInfo;->spanY:I

    move v4, v5

    goto :goto_1

    .line 1234
    .restart local v4       #spanY:I
    :cond_3
    iget-object v5, v0, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    move-object v1, v5

    goto :goto_2
.end method

.method addApplicationShortcut(Lorg/zeam/ApplicationItemInfo;Lorg/zeam/CellLayout$CellInfo;Z)V
    .locals 7
    .parameter "info"
    .parameter "cellInfo"
    .parameter "insertAtFirst"

    .prologue
    .line 1104
    iget v0, p2, Lorg/zeam/CellLayout$CellInfo;->screen:I

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v4

    check-cast v4, Lorg/zeam/CellLayout;

    .line 1105
    .local v4, layout:Lorg/zeam/CellLayout;
    const/4 v0, 0x2

    new-array v6, v0, [I

    .line 1107
    .local v6, result:[I
    iget v0, p2, Lorg/zeam/CellLayout$CellInfo;->cellX:I

    iget v1, p2, Lorg/zeam/CellLayout$CellInfo;->cellY:I

    invoke-virtual {v4, v0, v1, v6}, Lorg/zeam/CellLayout;->cellToPoint(II[I)V

    .line 1108
    const/4 v0, 0x0

    aget v1, v6, v0

    const/4 v0, 0x1

    aget v2, v6, v0

    move-object v0, p0

    move-object v3, p1

    move v5, p3

    invoke-direct/range {v0 .. v5}, Lorg/zeam/Workspace;->onDropExternal(IILjava/lang/Object;Lorg/zeam/CellLayout;Z)V

    .line 1109
    return-void
.end method

.method public addFocusables(Ljava/util/ArrayList;II)V
    .locals 4
    .parameter
    .parameter "direction"
    .parameter "focusableMode"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/ArrayList",
            "<",
            "Landroid/view/View;",
            ">;II)V"
        }
    .end annotation

    .prologue
    .local p1, views:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Landroid/view/View;>;"
    const/4 v3, 0x1

    .line 683
    iget-object v1, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v1}, Lorg/zeam/Launcher;->isApplicationsGridOpen()Z

    move-result v1

    if-nez v1, :cond_0

    .line 684
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getOpenFolder()Lorg/zeam/Folder;

    move-result-object v0

    .line 685
    .local v0, openFolder:Lorg/zeam/Folder;
    if-nez v0, :cond_2

    .line 686
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    invoke-virtual {v1, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V

    .line 687
    const/16 v1, 0x11

    if-ne p2, v1, :cond_1

    .line 688
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-lez v1, :cond_0

    .line 689
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    sub-int/2addr v1, v3

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    invoke-virtual {v1, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V

    .line 700
    .end local v0           #openFolder:Lorg/zeam/Folder;
    :cond_0
    :goto_0
    return-void

    .line 691
    .restart local v0       #openFolder:Lorg/zeam/Folder;
    :cond_1
    const/16 v1, 0x42

    if-ne p2, v1, :cond_0

    .line 692
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v2

    sub-int/2addr v2, v3

    if-ge v1, v2, :cond_0

    .line 693
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    add-int/lit8 v1, v1, 0x1

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    invoke-virtual {v1, p1, p2}, Landroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V

    goto :goto_0

    .line 697
    :cond_2
    invoke-virtual {v0, p1, p2}, Lorg/zeam/Folder;->addFocusables(Ljava/util/ArrayList;I)V

    goto :goto_0
.end method

.method addInCurrentScreen(Landroid/view/View;IIII)V
    .locals 8
    .parameter "child"
    .parameter "x"
    .parameter "y"
    .parameter "spanX"
    .parameter "spanY"

    .prologue
    .line 319
    iget v2, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    const/4 v7, 0x0

    move-object v0, p0

    move-object v1, p1

    move v3, p2

    move v4, p3

    move v5, p4

    move v6, p5

    invoke-virtual/range {v0 .. v7}, Lorg/zeam/Workspace;->addInScreen(Landroid/view/View;IIIIIZ)V

    .line 320
    return-void
.end method

.method addInCurrentScreen(Landroid/view/View;IIIIZ)V
    .locals 8
    .parameter "child"
    .parameter "x"
    .parameter "y"
    .parameter "spanX"
    .parameter "spanY"
    .parameter "insert"

    .prologue
    .line 323
    iget v2, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move-object v0, p0

    move-object v1, p1

    move v3, p2

    move v4, p3

    move v5, p4

    move v6, p5

    move v7, p6

    invoke-virtual/range {v0 .. v7}, Lorg/zeam/Workspace;->addInScreen(Landroid/view/View;IIIIIZ)V

    .line 324
    return-void
.end method

.method addInScreen(Landroid/view/View;IIIII)V
    .locals 8
    .parameter "child"
    .parameter "screen"
    .parameter "x"
    .parameter "y"
    .parameter "spanX"
    .parameter "spanY"

    .prologue
    .line 327
    const/4 v7, 0x0

    move-object v0, p0

    move-object v1, p1

    move v2, p2

    move v3, p3

    move v4, p4

    move v5, p5

    move v6, p6

    invoke-virtual/range {v0 .. v7}, Lorg/zeam/Workspace;->addInScreen(Landroid/view/View;IIIIIZ)V

    .line 328
    return-void
.end method

.method addInScreen(Landroid/view/View;IIIIIZ)V
    .locals 3
    .parameter "child"
    .parameter "screen"
    .parameter "x"
    .parameter "y"
    .parameter "spanX"
    .parameter "spanY"
    .parameter "insert"

    .prologue
    .line 332
    if-ltz p2, :cond_0

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v2

    if-lt p2, v2, :cond_1

    .line 354
    :cond_0
    :goto_0
    return-void

    .line 335
    :cond_1
    iget v2, p0, Lorg/zeam/Workspace;->mColumns:I

    if-ge p3, v2, :cond_0

    iget v2, p0, Lorg/zeam/Workspace;->mRows:I

    if-ge p4, v2, :cond_0

    .line 339
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 340
    invoke-virtual {p0, p2}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lorg/zeam/CellLayout;

    .line 341
    .local v0, cellLayout:Lorg/zeam/CellLayout;
    invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v1

    check-cast v1, Lorg/zeam/CellLayout$LayoutParams;

    .line 342
    .local v1, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    if-nez v1, :cond_2

    .line 343
    new-instance v1, Lorg/zeam/CellLayout$LayoutParams;

    .end local v1           #layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    invoke-direct {v1, p3, p4, p5, p6}, Lorg/zeam/CellLayout$LayoutParams;-><init>(IIII)V

    .line 350
    .restart local v1       #layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    :goto_1
    if-eqz p7, :cond_3

    const/4 v2, 0x0

    :goto_2
    invoke-virtual {v0, p1, v2, v1}, Lorg/zeam/CellLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V

    .line 351
    instance-of v2, p1, Lorg/zeam/Folder;

    if-nez v2, :cond_0

    .line 352
    iget-object v2, p0, Lorg/zeam/Workspace;->mLongClickListener:Landroid/view/View$OnLongClickListener;

    invoke-virtual {p1, v2}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V

    goto :goto_0

    .line 345
    :cond_2
    iput p3, v1, Lorg/zeam/CellLayout$LayoutParams;->cellX:I

    .line 346
    iput p4, v1, Lorg/zeam/CellLayout$LayoutParams;->cellY:I

    .line 347
    iput p5, v1, Lorg/zeam/CellLayout$LayoutParams;->cellHSpan:I

    .line 348
    iput p6, v1, Lorg/zeam/CellLayout$LayoutParams;->cellVSpan:I

    goto :goto_1

    .line 350
    :cond_3
    const/4 v2, -0x1

    goto :goto_2
.end method

.method public addView(Landroid/view/View;)V
    .locals 2
    .parameter "child"

    .prologue
    .line 211
    instance-of v0, p1, Lorg/zeam/CellLayout;

    if-nez v0, :cond_0

    .line 212
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "A Workspace can only have CellLayout children."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 214
    :cond_0
    invoke-super {p0, p1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V

    .line 215
    return-void
.end method

.method public addView(Landroid/view/View;I)V
    .locals 2
    .parameter "child"
    .parameter "index"

    .prologue
    .line 220
    instance-of v0, p1, Lorg/zeam/CellLayout;

    if-nez v0, :cond_0

    .line 221
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "A Workspace can only have CellLayout children."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 223
    :cond_0
    invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->addView(Landroid/view/View;I)V

    .line 224
    return-void
.end method

.method public addView(Landroid/view/View;II)V
    .locals 2
    .parameter "child"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 229
    instance-of v0, p1, Lorg/zeam/CellLayout;

    if-nez v0, :cond_0

    .line 230
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "A Workspace can only have CellLayout children."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 232
    :cond_0
    invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addView(Landroid/view/View;II)V

    .line 233
    return-void
.end method

.method public addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
    .locals 2
    .parameter "child"
    .parameter "index"
    .parameter "params"

    .prologue
    .line 199
    instance-of v0, p1, Lorg/zeam/CellLayout;

    if-nez v0, :cond_0

    .line 200
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "A Workspace can only have CellLayout children."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 202
    :cond_0
    iget v0, p0, Lorg/zeam/Workspace;->mScreensLoaded:I

    iget v1, p0, Lorg/zeam/Workspace;->mScreenCount:I

    if-ge v0, v1, :cond_1

    .line 203
    iget v0, p0, Lorg/zeam/Workspace;->mScreensLoaded:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lorg/zeam/Workspace;->mScreensLoaded:I

    .line 204
    invoke-super {p0, p1, p2, p3}, Landroid/view/ViewGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V

    .line 206
    :cond_1
    return-void
.end method

.method public addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    .locals 2
    .parameter "child"
    .parameter "params"

    .prologue
    .line 238
    instance-of v0, p1, Lorg/zeam/CellLayout;

    if-nez v0, :cond_0

    .line 239
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "A Workspace can only have CellLayout children."

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 241
    :cond_0
    invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

    .line 242
    return-void
.end method

.method addWidget(Landroid/view/View;Lorg/zeam/Widget;Z)V
    .locals 8
    .parameter "view"
    .parameter "widget"
    .parameter "insert"

    .prologue
    .line 361
    iget v2, p2, Lorg/zeam/Widget;->screen:I

    iget v3, p2, Lorg/zeam/Widget;->cellX:I

    iget v4, p2, Lorg/zeam/Widget;->cellY:I

    iget v5, p2, Lorg/zeam/Widget;->spanX:I

    iget v6, p2, Lorg/zeam/Widget;->spanY:I

    move-object v0, p0

    move-object v1, p1

    move v7, p3

    invoke-virtual/range {v0 .. v7}, Lorg/zeam/Workspace;->addInScreen(Landroid/view/View;IIIIIZ)V

    .line 362
    return-void
.end method

.method public allowLongPress()Z
    .locals 1

    .prologue
    .line 1422
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mAllowLongPress:Z

    return v0
.end method

.method clearChildrenCache()V
    .locals 4

    .prologue
    .line 817
    iget-boolean v3, p0, Lorg/zeam/Workspace;->mDesktopCache:Z

    if-eqz v3, :cond_0

    .line 818
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 819
    .local v0, count:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, v0, :cond_1

    .line 824
    .end local v0           #count:I
    .end local v1           #i:I
    :cond_0
    return-void

    .line 820
    .restart local v0       #count:I
    .restart local v1       #i:I
    :cond_1
    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout;

    .line 821
    .local v2, layout:Lorg/zeam/CellLayout;
    const/4 v3, 0x0

    invoke-virtual {v2, v3}, Lorg/zeam/CellLayout;->setChildrenDrawnWithCacheEnabled(Z)V

    .line 819
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method public computeScroll()V
    .locals 5

    .prologue
    const/4 v4, 0x1

    const/4 v3, 0x0

    const/4 v2, -0x1

    .line 433
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v0}, Landroid/widget/Scroller;->computeScrollOffset()Z

    move-result v0

    if-eqz v0, :cond_3

    .line 435
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v0}, Landroid/widget/Scroller;->getCurrX()I

    move-result v0

    iget-object v1, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v1}, Landroid/widget/Scroller;->getCurrY()I

    move-result v1

    invoke-virtual {p0, v0, v1}, Lorg/zeam/Workspace;->scrollTo(II)V

    .line 436
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-eqz v0, :cond_0

    .line 437
    invoke-direct {p0}, Lorg/zeam/Workspace;->updateWallpaperOffset()V

    .line 439
    :cond_0
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    if-eqz v0, :cond_1

    .line 440
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    .line 441
    iget-object v1, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v1}, Landroid/widget/Scroller;->getCurrX()I

    move-result v1

    int-to-float v1, v1

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v2

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v3

    mul-int/2addr v2, v3

    int-to-float v2, v2

    div-float/2addr v1, v2

    .line 440
    invoke-virtual {v0, v1}, Lorg/zeam/ScreenIndicator;->indicate(F)V

    .line 443
    :cond_1
    invoke-virtual {p0}, Lorg/zeam/Workspace;->postInvalidate()V

    .line 470
    :cond_2
    :goto_0
    return-void

    .line 445
    :cond_3
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-eq v0, v2, :cond_2

    .line 447
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v1

    sub-int/2addr v1, v4

    invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I

    move-result v0

    invoke-static {v3, v0}, Ljava/lang/Math;->max(II)I

    move-result v0

    iput v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 448
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-static {v0}, Lorg/zeam/Launcher;->setScreen(I)V

    .line 449
    iput v2, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 450
    invoke-virtual {p0}, Lorg/zeam/Workspace;->clearChildrenCache()V

    .line 452
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    if-eqz v0, :cond_4

    .line 453
    invoke-virtual {p0}, Lorg/zeam/Workspace;->indicateCurrent()V

    .line 455
    :cond_4
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mEnableOvershootInterpolatorOnScrollFinish:Z

    if-eqz v0, :cond_2

    .line 456
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mEnableOvershootInterpolatorOnScrollFinish:Z

    .line 457
    invoke-virtual {p0, v4}, Lorg/zeam/Workspace;->setElasticScrolling(Z)V

    goto :goto_0
.end method

.method protected dispatchDraw(Landroid/graphics/Canvas;)V
    .locals 14
    .parameter "canvas"

    .prologue
    .line 493
    const/4 v7, 0x0

    .line 495
    .local v7, restore:Z
    iget-boolean v10, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-nez v10, :cond_7

    iget-object v10, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    if-eqz v10, :cond_7

    .line 497
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    int-to-float v10, v10

    iget v11, p0, Lorg/zeam/Workspace;->mWallpaperOffset:F

    mul-float v8, v10, v11

    .line 498
    .local v8, x:F
    iget v10, p0, Lorg/zeam/Workspace;->mWallpaperWidth:I

    int-to-float v10, v10

    add-float/2addr v10, v8

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v11

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getLeft()I

    move-result v12

    sub-int/2addr v11, v12

    int-to-float v11, v11

    cmpg-float v10, v10, v11

    if-gez v10, :cond_0

    .line 499
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v10

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getLeft()I

    move-result v11

    sub-int/2addr v10, v11

    iget v11, p0, Lorg/zeam/Workspace;->mWallpaperWidth:I

    sub-int/2addr v10, v11

    int-to-float v8, v10

    .line 501
    :cond_0
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    if-gez v10, :cond_1

    .line 502
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    int-to-float v8, v10

    .line 504
    :cond_1
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v11

    const/4 v12, 0x1

    sub-int/2addr v11, v12

    invoke-virtual {p0, v11}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v11

    invoke-virtual {v11}, Landroid/view/View;->getRight()I

    move-result v11

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v12

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getLeft()I

    move-result v13

    sub-int/2addr v12, v13

    sub-int/2addr v11, v12

    if-le v10, v11, :cond_2

    .line 505
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    iget v11, p0, Lorg/zeam/Workspace;->mWallpaperWidth:I

    sub-int/2addr v10, v11

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v11

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getLeft()I

    move-result v12

    sub-int/2addr v11, v12

    add-int/2addr v10, v11

    int-to-float v8, v10

    .line 507
    :cond_2
    iget-boolean v10, p0, Lorg/zeam/Workspace;->mWallpaperScroll:Z

    if-eqz v10, :cond_3

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v10

    const/4 v11, 0x1

    if-ne v10, v11, :cond_4

    .line 508
    :cond_3
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v10

    iget v11, p0, Lorg/zeam/Workspace;->mWallpaperWidth:I

    div-int/lit8 v11, v11, 0x2

    sub-int/2addr v10, v11

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getRight()I

    move-result v11

    div-int/lit8 v11, v11, 0x2

    add-int/2addr v10, v11

    int-to-float v8, v10

    .line 510
    :cond_4
    iget v9, p0, Lorg/zeam/Workspace;->mWallpaperYOffset:I

    .line 511
    .local v9, y:I
    const/4 v10, 0x0

    cmpl-float v10, v8, v10

    if-gtz v10, :cond_5

    if-lez v9, :cond_6

    .line 512
    :cond_5
    const/high16 v10, -0x100

    invoke-virtual {p1, v10}, Landroid/graphics/Canvas;->drawColor(I)V

    .line 514
    :cond_6
    iget-object v10, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    invoke-virtual {v10}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;

    move-result-object v10

    int-to-float v11, v9

    iget-object v12, p0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    invoke-virtual {p1, v10, v8, v11, v12}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V

    .line 517
    .end local v8           #x:F
    .end local v9           #y:I
    :cond_7
    iget-boolean v10, p0, Lorg/zeam/Workspace;->mPreviews:Z

    if-nez v10, :cond_e

    .line 518
    iget-object v10, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v10}, Lorg/zeam/Launcher;->isApplicationsGridOpen()Z

    move-result v10

    if-nez v10, :cond_8

    iget-object v10, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v10}, Lorg/zeam/Launcher;->isFullScreenPreviewing()Z

    move-result v10

    if-eqz v10, :cond_9

    .line 565
    :cond_8
    :goto_0
    return-void

    .line 521
    :cond_9
    iget v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    const/4 v11, 0x1

    if-eq v10, v11, :cond_b

    iget v10, p0, Lorg/zeam/Workspace;->mNextScreen:I

    const/4 v11, -0x1

    if-ne v10, v11, :cond_b

    const/4 v10, 0x1

    move v5, v10

    .line 522
    .local v5, fastDraw:Z
    :goto_1
    if-eqz v5, :cond_c

    .line 523
    iget v10, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v10

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getDrawingTime()J

    move-result-wide v11

    invoke-virtual {p0, p1, v10, v11, v12}, Lorg/zeam/Workspace;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    .line 562
    .end local v5           #fastDraw:Z
    :cond_a
    :goto_2
    if-eqz v7, :cond_8

    .line 563
    invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V

    goto :goto_0

    .line 521
    :cond_b
    const/4 v10, 0x0

    move v5, v10

    goto :goto_1

    .line 525
    .restart local v5       #fastDraw:Z
    :cond_c
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getDrawingTime()J

    move-result-wide v3

    .line 526
    .local v3, drawingTime:J
    iget v10, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-ltz v10, :cond_d

    iget v10, p0, Lorg/zeam/Workspace;->mNextScreen:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v11

    if-ge v10, v11, :cond_d

    iget v10, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    iget v11, p0, Lorg/zeam/Workspace;->mNextScreen:I

    sub-int/2addr v10, v11

    invoke-static {v10}, Ljava/lang/Math;->abs(I)I

    move-result v10

    const/4 v11, 0x1

    if-ne v10, v11, :cond_d

    .line 527
    iget v10, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v10

    invoke-virtual {p0, p1, v10, v3, v4}, Lorg/zeam/Workspace;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    .line 528
    iget v10, p0, Lorg/zeam/Workspace;->mNextScreen:I

    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v10

    invoke-virtual {p0, p1, v10, v3, v4}, Lorg/zeam/Workspace;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    goto :goto_2

    .line 530
    :cond_d
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 531
    .local v0, count:I
    const/4 v6, 0x0

    .local v6, i:I
    :goto_3
    if-ge v6, v0, :cond_a

    .line 532
    invoke-virtual {p0, v6}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v10

    invoke-virtual {p0, p1, v10, v3, v4}, Lorg/zeam/Workspace;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    .line 531
    add-int/lit8 v6, v6, 0x1

    goto :goto_3

    .line 538
    .end local v0           #count:I
    .end local v3           #drawingTime:J
    .end local v5           #fastDraw:Z
    .end local v6           #i:I
    :cond_e
    iget-wide v10, p0, Lorg/zeam/Workspace;->mStartTime:J

    const-wide/16 v12, 0x0

    cmp-long v10, v10, v12

    if-nez v10, :cond_10

    .line 539
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v10

    iput-wide v10, p0, Lorg/zeam/Workspace;->mStartTime:J

    .line 540
    const-wide/16 v1, 0x0

    .line 544
    .local v1, currentTime:J
    :goto_4
    iget v10, p0, Lorg/zeam/Workspace;->mAnimationDuration:I

    int-to-long v10, v10

    cmp-long v10, v1, v10

    if-ltz v10, :cond_12

    .line 545
    const/4 v10, 0x0

    iput-boolean v10, p0, Lorg/zeam/Workspace;->isAnimating:Z

    .line 546
    iget v10, p0, Lorg/zeam/Workspace;->mStatus:I

    const/4 v11, 0x1

    if-ne v10, v11, :cond_11

    .line 547
    const/4 v10, 0x3

    iput v10, p0, Lorg/zeam/Workspace;->mStatus:I

    .line 557
    :cond_f
    :goto_5
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 558
    .restart local v0       #count:I
    const/4 v6, 0x0

    .restart local v6       #i:I
    :goto_6
    if-ge v6, v0, :cond_a

    .line 559
    invoke-virtual {p0, v6}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v10

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getDrawingTime()J

    move-result-wide v11

    invoke-virtual {p0, p1, v10, v11, v12}, Lorg/zeam/Workspace;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    .line 558
    add-int/lit8 v6, v6, 0x1

    goto :goto_6

    .line 542
    .end local v0           #count:I
    .end local v1           #currentTime:J
    .end local v6           #i:I
    :cond_10
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v10

    iget-wide v12, p0, Lorg/zeam/Workspace;->mStartTime:J

    sub-long v1, v10, v12

    .restart local v1       #currentTime:J
    goto :goto_4

    .line 548
    :cond_11
    iget v10, p0, Lorg/zeam/Workspace;->mStatus:I

    const/4 v11, 0x2

    if-ne v10, v11, :cond_f

    .line 549
    const/4 v10, 0x4

    iput v10, p0, Lorg/zeam/Workspace;->mStatus:I

    .line 550
    const/4 v10, 0x0

    iput-boolean v10, p0, Lorg/zeam/Workspace;->mPreviews:Z

    .line 551
    invoke-virtual {p0}, Lorg/zeam/Workspace;->unlock()V

    .line 552
    invoke-virtual {p0}, Lorg/zeam/Workspace;->postInvalidate()V

    goto :goto_5

    .line 555
    :cond_12
    invoke-virtual {p0}, Lorg/zeam/Workspace;->postInvalidate()V

    goto :goto_5
.end method

.method public dispatchUnhandledMove(Landroid/view/View;I)Z
    .locals 3
    .parameter "focused"
    .parameter "direction"

    .prologue
    const/4 v2, 0x1

    .line 666
    const/16 v0, 0x11

    if-ne p2, v0, :cond_0

    .line 667
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getCurrentScreen()I

    move-result v0

    if-lez v0, :cond_1

    .line 668
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getCurrentScreen()I

    move-result v0

    sub-int/2addr v0, v2

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    move v0, v2

    .line 677
    :goto_0
    return v0

    .line 671
    :cond_0
    const/16 v0, 0x42

    if-ne p2, v0, :cond_1

    .line 672
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getCurrentScreen()I

    move-result v0

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v1

    sub-int/2addr v1, v2

    if-ge v0, v1, :cond_1

    .line 673
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getCurrentScreen()I

    move-result v0

    add-int/lit8 v0, v0, 0x1

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    move v0, v2

    .line 674
    goto :goto_0

    .line 677
    :cond_1
    invoke-super {p0, p1, p2}, Landroid/view/ViewGroup;->dispatchUnhandledMove(Landroid/view/View;I)Z

    move-result v0

    goto :goto_0
.end method

.method protected drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
    .locals 22
    .parameter "canvas"
    .parameter "child"
    .parameter "drawingTime"

    .prologue
    .line 1689
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/Canvas;->save()I

    move-result v11

    .line 1690
    .local v11, saveCount:I
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mPreviews:Z

    move/from16 v16, v0

    if-eqz v16, :cond_5

    .line 1691
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->isAnimating:Z

    move/from16 v16, v0

    if-nez v16, :cond_0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mStatus:I

    move/from16 v16, v0

    const/16 v17, 0x3

    move/from16 v0, v16

    move/from16 v1, v17

    if-ne v0, v1, :cond_4

    .line 1693
    :cond_0
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v16

    move-object/from16 v0, p0

    iget-wide v0, v0, Lorg/zeam/Workspace;->mStartTime:J

    move-wide/from16 v18, v0

    sub-long v6, v16, v18

    .line 1694
    .local v6, currentTime:J
    new-instance v9, Landroid/graphics/Rect;

    const/16 v16, 0x0

    const/16 v17, 0x0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getWidth()I

    move-result v18

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getHeight()I

    move-result v19

    move-object v0, v9

    move/from16 v1, v16

    move/from16 v2, v17

    move/from16 v3, v18

    move/from16 v4, v19

    invoke-direct {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V

    .line 1695
    .local v9, rect1:Landroid/graphics/Rect;
    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct {v0, v1}, Lorg/zeam/Workspace;->getScaledChild(Landroid/view/View;)Landroid/graphics/RectF;

    move-result-object v10

    .line 1697
    .local v10, rect2:Landroid/graphics/RectF;
    const/4 v14, 0x0

    .line 1698
    .local v14, x:F
    const/4 v15, 0x0

    .line 1699
    .local v15, y:F
    const/4 v13, 0x0

    .line 1701
    .local v13, width:F
    const/4 v8, 0x0

    .line 1702
    .local v8, height:F
    const/high16 v5, 0x437f

    .line 1704
    .local v5, alpha:F
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mStatus:I

    move/from16 v16, v0

    const/16 v17, 0x1

    move/from16 v0, v16

    move/from16 v1, v17

    if-ne v0, v1, :cond_2

    .line 1706
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    const/16 v17, 0x0

    const/high16 v18, 0x42c8

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v5

    .line 1707
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getLeft()I

    move-result v17

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->left:F

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v14

    .line 1708
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getTop()I

    move-result v17

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->top:F

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v15

    .line 1709
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getRight()I

    move-result v17

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->right:F

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v13

    .line 1710
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getBottom()I

    move-result v17

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->bottom:F

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v8

    .line 1725
    :cond_1
    :goto_0
    sub-float v16, v13, v14

    invoke-virtual {v9}, Landroid/graphics/Rect;->width()I

    move-result v17

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    div-float v12, v16, v17

    .line 1727
    .local v12, scale:F
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/Canvas;->save()I

    .line 1728
    move-object/from16 v0, p1

    move v1, v14

    move v2, v15

    invoke-virtual {v0, v1, v2}, Landroid/graphics/Canvas;->translate(FF)V

    .line 1729
    move-object/from16 v0, p1

    move v1, v12

    move v2, v12

    invoke-virtual {v0, v1, v2}, Landroid/graphics/Canvas;->scale(FF)V

    .line 1730
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    move-object/from16 v16, v0

    move v0, v5

    float-to-int v0, v0

    move/from16 v17, v0

    invoke-virtual/range {v16 .. v17}, Landroid/graphics/Paint;->setAlpha(I)V

    .line 1731
    new-instance v16, Landroid/graphics/RectF;

    move-object v0, v9

    iget v0, v0, Landroid/graphics/Rect;->left:I

    move/from16 v17, v0

    add-int/lit8 v17, v17, 0x5

    move/from16 v0, v17

    int-to-float v0, v0

    move/from16 v17, v0

    move-object v0, v9

    iget v0, v0, Landroid/graphics/Rect;->top:I

    move/from16 v18, v0

    add-int/lit8 v18, v18, 0x5

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    .line 1732
    move-object v0, v9

    iget v0, v0, Landroid/graphics/Rect;->right:I

    move/from16 v19, v0

    const/16 v20, 0x5

    sub-int v19, v19, v20

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    move-object v0, v9

    iget v0, v0, Landroid/graphics/Rect;->bottom:I

    move/from16 v20, v0

    const/16 v21, 0x5

    sub-int v20, v20, v21

    move/from16 v0, v20

    int-to-float v0, v0

    move/from16 v20, v0

    invoke-direct/range {v16 .. v20}, Landroid/graphics/RectF;-><init>(FFFF)V

    const/high16 v17, 0x4170

    const/high16 v18, 0x4170

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    move-object/from16 v19, v0

    .line 1731
    move-object/from16 v0, p1

    move-object/from16 v1, v16

    move/from16 v2, v17

    move/from16 v3, v18

    move-object/from16 v4, v19

    invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V

    .line 1734
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mPaint:Landroid/graphics/Paint;

    move-object/from16 v16, v0

    const/16 v17, 0xff

    invoke-virtual/range {v16 .. v17}, Landroid/graphics/Paint;->setAlpha(I)V

    .line 1735
    move-object/from16 v0, p2

    move-object/from16 v1, p1

    invoke-virtual {v0, v1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V

    .line 1736
    invoke-virtual/range {p1 .. p1}, Landroid/graphics/Canvas;->restore()V

    .line 1744
    .end local v5           #alpha:F
    .end local v6           #currentTime:J
    .end local v8           #height:F
    .end local v9           #rect1:Landroid/graphics/Rect;
    .end local v10           #rect2:Landroid/graphics/RectF;
    .end local v12           #scale:F
    .end local v13           #width:F
    .end local v14           #x:F
    .end local v15           #y:F
    :goto_1
    move-object/from16 v0, p1

    move v1, v11

    invoke-virtual {v0, v1}, Landroid/graphics/Canvas;->restoreToCount(I)V

    .line 1745
    const/16 v16, 0x1

    return v16

    .line 1711
    .restart local v5       #alpha:F
    .restart local v6       #currentTime:J
    .restart local v8       #height:F
    .restart local v9       #rect1:Landroid/graphics/Rect;
    .restart local v10       #rect2:Landroid/graphics/RectF;
    .restart local v13       #width:F
    .restart local v14       #x:F
    .restart local v15       #y:F
    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mStatus:I

    move/from16 v16, v0

    const/16 v17, 0x2

    move/from16 v0, v16

    move/from16 v1, v17

    if-ne v0, v1, :cond_3

    .line 1712
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    const/high16 v17, 0x42c8

    const/16 v18, 0x0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v5

    .line 1713
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->left:F

    move/from16 v17, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getLeft()I

    move-result v18

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v14

    .line 1714
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->top:F

    move/from16 v17, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getTop()I

    move-result v18

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v15

    .line 1715
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->right:F

    move/from16 v17, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getRight()I

    move-result v18

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v13

    .line 1716
    move-wide v0, v6

    long-to-float v0, v0

    move/from16 v16, v0

    move-object v0, v10

    iget v0, v0, Landroid/graphics/RectF;->bottom:F

    move/from16 v17, v0

    invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getBottom()I

    move-result v18

    move/from16 v0, v18

    int-to-float v0, v0

    move/from16 v18, v0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mAnimationDuration:I

    move/from16 v19, v0

    move/from16 v0, v19

    int-to-float v0, v0

    move/from16 v19, v0

    invoke-static/range {v16 .. v19}, Lorg/zeam/Workspace;->easeOut(FFFF)F

    move-result v8

    goto/16 :goto_0

    .line 1717
    :cond_3
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mStatus:I

    move/from16 v16, v0

    const/16 v17, 0x3

    move/from16 v0, v16

    move/from16 v1, v17

    if-ne v0, v1, :cond_1

    .line 1718
    iget v14, v10, Landroid/graphics/RectF;->left:F

    .line 1719
    iget v15, v10, Landroid/graphics/RectF;->top:F

    .line 1720
    iget v13, v10, Landroid/graphics/RectF;->right:F

    .line 1721
    iget v8, v10, Landroid/graphics/RectF;->bottom:F

    .line 1722
    const/high16 v5, 0x42c8

    goto/16 :goto_0

    .line 1739
    .end local v5           #alpha:F
    .end local v6           #currentTime:J
    .end local v8           #height:F
    .end local v9           #rect1:Landroid/graphics/Rect;
    .end local v10           #rect2:Landroid/graphics/RectF;
    .end local v13           #width:F
    .end local v14           #x:F
    .end local v15           #y:F
    :cond_4
    move-object/from16 v0, p2

    move-object/from16 v1, p1

    invoke-virtual {v0, v1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V

    goto/16 :goto_1

    .line 1742
    :cond_5
    invoke-super/range {p0 .. p4}, Landroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z

    goto/16 :goto_1
.end method

.method enableChildrenCache()V
    .locals 5

    .prologue
    const/4 v4, 0x1

    .line 803
    iget-boolean v3, p0, Lorg/zeam/Workspace;->mDesktopCache:Z

    if-eqz v3, :cond_0

    .line 804
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 805
    .local v0, count:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, v0, :cond_1

    .line 813
    .end local v0           #count:I
    .end local v1           #i:I
    :cond_0
    return-void

    .line 806
    .restart local v0       #count:I
    .restart local v1       #i:I
    :cond_1
    iget v3, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    sub-int/2addr v3, v4

    if-ge v1, v3, :cond_2

    iget v3, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    add-int/lit8 v3, v3, 0x1

    if-gt v1, v3, :cond_3

    .line 807
    :cond_2
    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout;

    .line 808
    .local v2, layout:Lorg/zeam/CellLayout;
    invoke-virtual {v2, v4}, Lorg/zeam/CellLayout;->setChildrenDrawnWithCacheEnabled(Z)V

    .line 809
    invoke-virtual {v2, v4}, Lorg/zeam/CellLayout;->setChildrenDrawingCacheEnabled(Z)V

    .line 805
    .end local v2           #layout:Lorg/zeam/CellLayout;
    :cond_3
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method public estimateDropLocation(IIIILandroid/graphics/Rect;)Landroid/graphics/Rect;
    .locals 11
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "recycle"

    .prologue
    .line 1245
    invoke-direct {p0}, Lorg/zeam/Workspace;->getCurrentDropLayout()Lorg/zeam/CellLayout;

    move-result-object v6

    .line 1246
    .local v6, layout:Lorg/zeam/CellLayout;
    iget-object v8, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    .line 1247
    .local v8, cellInfo:Lorg/zeam/CellLayout$CellInfo;
    if-nez v8, :cond_0

    const/4 v0, 0x1

    move v3, v0

    .line 1248
    .local v3, spanX:I
    :goto_0
    if-nez v8, :cond_1

    const/4 v0, 0x1

    move v4, v0

    .line 1250
    .local v4, spanY:I
    :goto_1
    if-nez v8, :cond_2

    const/4 v0, 0x0

    move-object v5, v0

    .line 1251
    .local v5, ignoreView:Landroid/view/View;
    :goto_2
    if-eqz p5, :cond_3

    move-object/from16 v10, p5

    .line 1252
    .local v10, location:Landroid/graphics/Rect;
    :goto_3
    sub-int v1, p1, p3

    sub-int v2, p2, p4

    .line 1253
    iget-object v7, p0, Lorg/zeam/Workspace;->mTempCell:[I

    move-object v0, p0

    .line 1252
    invoke-direct/range {v0 .. v7}, Lorg/zeam/Workspace;->estimateDropCell(IIIILandroid/view/View;Lorg/zeam/CellLayout;[I)[I

    move-result-object v9

    .line 1255
    .local v9, dropCell:[I
    if-nez v9, :cond_4

    .line 1256
    const/4 v0, 0x0

    .line 1267
    :goto_4
    return-object v0

    .line 1247
    .end local v3           #spanX:I
    .end local v4           #spanY:I
    .end local v5           #ignoreView:Landroid/view/View;
    .end local v9           #dropCell:[I
    .end local v10           #location:Landroid/graphics/Rect;
    :cond_0
    iget v0, v8, Lorg/zeam/CellLayout$CellInfo;->spanX:I

    move v3, v0

    goto :goto_0

    .line 1248
    .restart local v3       #spanX:I
    :cond_1
    iget v0, v8, Lorg/zeam/CellLayout$CellInfo;->spanY:I

    move v4, v0

    goto :goto_1

    .line 1250
    .restart local v4       #spanY:I
    :cond_2
    iget-object v0, v8, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    move-object v5, v0

    goto :goto_2

    .line 1251
    .restart local v5       #ignoreView:Landroid/view/View;
    :cond_3
    new-instance v0, Landroid/graphics/Rect;

    invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V

    move-object v10, v0

    goto :goto_3

    .line 1259
    .restart local v9       #dropCell:[I
    .restart local v10       #location:Landroid/graphics/Rect;
    :cond_4
    const/4 v0, 0x0

    aget v0, v9, v0

    const/4 v1, 0x1

    aget v1, v9, v1

    iget-object v2, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    invoke-virtual {v6, v0, v1, v2}, Lorg/zeam/CellLayout;->cellToPoint(II[I)V

    .line 1260
    iget-object v0, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    const/4 v1, 0x0

    aget v0, v0, v1

    iput v0, v10, Landroid/graphics/Rect;->left:I

    .line 1261
    iget-object v0, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    const/4 v1, 0x1

    aget v0, v0, v1

    iput v0, v10, Landroid/graphics/Rect;->top:I

    .line 1263
    const/4 v0, 0x0

    aget v0, v9, v0

    add-int/2addr v0, v3

    const/4 v1, 0x1

    aget v1, v9, v1

    add-int/2addr v1, v4

    iget-object v2, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    invoke-virtual {v6, v0, v1, v2}, Lorg/zeam/CellLayout;->cellToPoint(II[I)V

    .line 1264
    iget-object v0, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    const/4 v1, 0x0

    aget v0, v0, v1

    iput v0, v10, Landroid/graphics/Rect;->right:I

    .line 1265
    iget-object v0, p0, Lorg/zeam/Workspace;->mTempEstimate:[I

    const/4 v1, 0x1

    aget v0, v0, v1

    iput v0, v10, Landroid/graphics/Rect;->bottom:I

    move-object v0, v10

    .line 1267
    goto :goto_4
.end method

.method findAllVacantCells([Z)Lorg/zeam/CellLayout$CellInfo;
    .locals 3
    .parameter "occupied"

    .prologue
    const/4 v2, 0x0

    .line 366
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lorg/zeam/CellLayout;

    .line 367
    .local v0, group:Lorg/zeam/CellLayout;
    if-eqz v0, :cond_0

    .line 368
    invoke-virtual {v0, p1, v2}, Lorg/zeam/CellLayout;->findAllVacantCells([ZLandroid/view/View;)Lorg/zeam/CellLayout$CellInfo;

    move-result-object v1

    .line 370
    :goto_0
    return-object v1

    :cond_0
    move-object v1, v2

    goto :goto_0
.end method

.method public findSearchWidgetOnCurrentScreen()Lorg/zeam/Search;
    .locals 2

    .prologue
    .line 258
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lorg/zeam/CellLayout;

    .line 259
    .local v0, currentScreen:Lorg/zeam/CellLayout;
    invoke-direct {p0, v0}, Lorg/zeam/Workspace;->findSearchWidget(Lorg/zeam/CellLayout;)Lorg/zeam/Search;

    move-result-object v1

    return-object v1
.end method

.method public getCurrentDesktopColumns()I
    .locals 1

    .prologue
    .line 1860
    iget v0, p0, Lorg/zeam/Workspace;->mColumns:I

    return v0
.end method

.method public getCurrentDesktopRows()I
    .locals 1

    .prologue
    .line 1856
    iget v0, p0, Lorg/zeam/Workspace;->mRows:I

    return v0
.end method

.method getCurrentScreen()I
    .locals 1

    .prologue
    .line 307
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    return v0
.end method

.method public getFolderForTag(Ljava/lang/Object;)Lorg/zeam/Folder;
    .locals 11
    .parameter "tag"

    .prologue
    .line 1377
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v8

    .line 1378
    .local v8, screenCount:I
    const/4 v7, 0x0

    .local v7, screen:I
    :goto_0
    if-lt v7, v8, :cond_0

    .line 1394
    const/4 v9, 0x0

    :goto_1
    return-object v9

    .line 1379
    :cond_0
    invoke-virtual {p0, v7}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v3

    check-cast v3, Lorg/zeam/CellLayout;

    .line 1380
    .local v3, currentScreen:Lorg/zeam/CellLayout;
    invoke-virtual {v3}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v2

    .line 1381
    .local v2, count:I
    const/4 v5, 0x0

    .local v5, i:I
    :goto_2
    if-lt v5, v2, :cond_1

    .line 1378
    add-int/lit8 v7, v7, 0x1

    goto :goto_0

    .line 1382
    :cond_1
    invoke-virtual {v3, v5}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    .line 1383
    .local v1, child:Landroid/view/View;
    invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v6

    check-cast v6, Lorg/zeam/CellLayout$LayoutParams;

    .line 1384
    .local v6, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    iget v9, v6, Lorg/zeam/CellLayout$LayoutParams;->cellHSpan:I

    iget v10, p0, Lorg/zeam/Workspace;->mColumns:I

    if-ne v9, v10, :cond_2

    .line 1385
    iget v9, v6, Lorg/zeam/CellLayout$LayoutParams;->cellVSpan:I

    iget v10, p0, Lorg/zeam/Workspace;->mRows:I

    if-ne v9, v10, :cond_2

    instance-of v9, v1, Lorg/zeam/Folder;

    if-eqz v9, :cond_2

    .line 1387
    move-object v0, v1

    check-cast v0, Lorg/zeam/Folder;

    move-object v4, v0

    .line 1388
    .local v4, folder:Lorg/zeam/Folder;
    invoke-virtual {v4}, Lorg/zeam/Folder;->getInfo()Lorg/zeam/FolderInfo;

    move-result-object v9

    if-ne v9, p1, :cond_2

    move-object v9, v4

    .line 1389
    goto :goto_1

    .line 1381
    .end local v4           #folder:Lorg/zeam/Folder;
    :cond_2
    add-int/lit8 v5, v5, 0x1

    goto :goto_2
.end method

.method public getLauncherActivity()Landroid/app/Activity;
    .locals 1

    .prologue
    .line 1852
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    return-object v0
.end method

.method getOpenFolder()Lorg/zeam/Folder;
    .locals 7

    .prologue
    .line 264
    iget v5, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v5}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout;

    .line 265
    .local v2, currentScreen:Lorg/zeam/CellLayout;
    invoke-virtual {v2}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v1

    .line 266
    .local v1, count:I
    const/4 v3, 0x0

    .local v3, i:I
    :goto_0
    if-lt v3, v1, :cond_0

    .line 275
    const/4 v5, 0x0

    :goto_1
    return-object v5

    .line 267
    :cond_0
    invoke-virtual {v2, v3}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 268
    .local v0, child:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v4

    check-cast v4, Lorg/zeam/CellLayout$LayoutParams;

    .line 269
    .local v4, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    iget v5, v4, Lorg/zeam/CellLayout$LayoutParams;->cellHSpan:I

    iget v6, p0, Lorg/zeam/Workspace;->mColumns:I

    if-ne v5, v6, :cond_1

    .line 270
    iget v5, v4, Lorg/zeam/CellLayout$LayoutParams;->cellVSpan:I

    iget v6, p0, Lorg/zeam/Workspace;->mRows:I

    if-ne v5, v6, :cond_1

    instance-of v5, v0, Lorg/zeam/Folder;

    if-eqz v5, :cond_1

    .line 272
    check-cast v0, Lorg/zeam/Folder;

    .end local v0           #child:Landroid/view/View;
    move-object v5, v0

    goto :goto_1

    .line 266
    .restart local v0       #child:Landroid/view/View;
    :cond_1
    add-int/lit8 v3, v3, 0x1

    goto :goto_0
.end method

.method getOpenFolders()Ljava/util/ArrayList;
    .locals 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/ArrayList",
            "<",
            "Lorg/zeam/Folder;",
            ">;"
        }
    .end annotation

    .prologue
    .line 280
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v7

    .line 281
    .local v7, screens:I
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3, v7}, Ljava/util/ArrayList;-><init>(I)V

    .line 282
    .local v3, folders:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/Folder;>;"
    const/4 v6, 0x0

    .local v6, screen:I
    :goto_0
    if-lt v6, v7, :cond_0

    .line 299
    return-object v3

    .line 284
    :cond_0
    invoke-virtual {p0, v6}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout;

    .line 285
    .local v2, currentScreen:Lorg/zeam/CellLayout;
    invoke-virtual {v2}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v1

    .line 286
    .local v1, count:I
    const/4 v4, 0x0

    .local v4, i:I
    :goto_1
    if-lt v4, v1, :cond_1

    .line 282
    :goto_2
    add-int/lit8 v6, v6, 0x1

    goto :goto_0

    .line 288
    :cond_1
    invoke-virtual {v2, v4}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 289
    .local v0, child:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v5

    check-cast v5, Lorg/zeam/CellLayout$LayoutParams;

    .line 290
    .local v5, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    iget v8, v5, Lorg/zeam/CellLayout$LayoutParams;->cellHSpan:I

    iget v9, p0, Lorg/zeam/Workspace;->mColumns:I

    if-ne v8, v9, :cond_2

    .line 291
    iget v8, v5, Lorg/zeam/CellLayout$LayoutParams;->cellVSpan:I

    iget v9, p0, Lorg/zeam/Workspace;->mRows:I

    if-ne v8, v9, :cond_2

    instance-of v8, v0, Lorg/zeam/Folder;

    if-eqz v8, :cond_2

    .line 293
    check-cast v0, Lorg/zeam/Folder;

    .end local v0           #child:Landroid/view/View;
    invoke-virtual {v3, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    goto :goto_2

    .line 286
    .restart local v0       #child:Landroid/view/View;
    :cond_2
    add-int/lit8 v4, v4, 0x1

    goto :goto_1
.end method

.method public getScreenForView(Landroid/view/View;)I
    .locals 4
    .parameter "view"

    .prologue
    .line 1343
    if-eqz p1, :cond_0

    .line 1344
    invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;

    move-result-object v2

    .line 1345
    .local v2, viewParent:Landroid/view/ViewParent;
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 1346
    .local v0, count:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, v0, :cond_1

    .line 1352
    .end local v0           #count:I
    .end local v1           #i:I
    .end local v2           #viewParent:Landroid/view/ViewParent;
    :cond_0
    const/4 v3, -0x1

    :goto_1
    return v3

    .line 1347
    .restart local v0       #count:I
    .restart local v1       #i:I
    .restart local v2       #viewParent:Landroid/view/ViewParent;
    :cond_1
    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v3

    if-ne v2, v3, :cond_2

    move v3, v1

    .line 1348
    goto :goto_1

    .line 1346
    :cond_2
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method public getViewForTag(Ljava/lang/Object;)Landroid/view/View;
    .locals 7
    .parameter "tag"

    .prologue
    .line 1399
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v5

    .line 1400
    .local v5, screenCount:I
    const/4 v4, 0x0

    .local v4, screen:I
    :goto_0
    if-lt v4, v5, :cond_0

    .line 1410
    const/4 v6, 0x0

    :goto_1
    return-object v6

    .line 1401
    :cond_0
    invoke-virtual {p0, v4}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout;

    .line 1402
    .local v2, currentScreen:Lorg/zeam/CellLayout;
    invoke-virtual {v2}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v1

    .line 1403
    .local v1, count:I
    const/4 v3, 0x0

    .local v3, i:I
    :goto_2
    if-lt v3, v1, :cond_1

    .line 1400
    add-int/lit8 v4, v4, 0x1

    goto :goto_0

    .line 1404
    :cond_1
    invoke-virtual {v2, v3}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 1405
    .local v0, child:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v6

    if-ne v6, p1, :cond_2

    move-object v6, v0

    .line 1406
    goto :goto_1

    .line 1403
    :cond_2
    add-int/lit8 v3, v3, 0x1

    goto :goto_2
.end method

.method indicateCurrent()V
    .locals 2

    .prologue
    .line 427
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {v0, v1}, Lorg/zeam/ScreenIndicator;->fullIndicate(I)V

    .line 428
    return-void
.end method

.method isDefaultScreenShowing()Z
    .locals 2

    .prologue
    .line 303
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    iget v1, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    if-ne v0, v1, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method isElasticScrollingEnabled()Z
    .locals 1

    .prologue
    .line 1664
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mElasticScrolling:Z

    return v0
.end method

.method public isOpaque()Z
    .locals 3

    .prologue
    const/4 v2, 0x0

    .line 475
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-nez v0, :cond_1

    iget-boolean v0, p0, Lorg/zeam/Workspace;->mWallpaperLoaded:Z

    if-eqz v0, :cond_1

    .line 476
    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    invoke-virtual {v0}, Landroid/graphics/drawable/BitmapDrawable;->getOpacity()I

    move-result v0

    const/4 v1, -0x1

    if-ne v0, v1, :cond_0

    const/4 v0, 0x1

    .line 478
    :goto_0
    return v0

    :cond_0
    move v0, v2

    .line 476
    goto :goto_0

    :cond_1
    move v0, v2

    .line 478
    goto :goto_0
.end method

.method public lock()V
    .locals 1

    .prologue
    .line 1418
    const/4 v0, 0x1

    iput-boolean v0, p0, Lorg/zeam/Workspace;->mLocked:Z

    .line 1419
    return-void
.end method

.method moveToDefaultScreen()V
    .locals 1

    .prologue
    .line 1580
    iget v0, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 1581
    iget v0, p0, Lorg/zeam/Workspace;->mDefaultScreen:I

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    invoke-virtual {v0}, Landroid/view/View;->requestFocus()Z

    .line 1582
    return-void
.end method

.method public onDoubleTap(Landroid/view/MotionEvent;)Z
    .locals 1
    .parameter "motionEvent"

    .prologue
    .line 947
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0, p1}, Lorg/zeam/Launcher;->onDoubleTap(Landroid/view/MotionEvent;)V

    .line 948
    const/4 v0, 0x1

    return v0
.end method

.method public onDoubleTapEvent(Landroid/view/MotionEvent;)Z
    .locals 1
    .parameter "motionEvent"

    .prologue
    .line 952
    const/4 v0, 0x0

    return v0
.end method

.method public onDown(Landroid/view/MotionEvent;)Z
    .locals 1
    .parameter "motionEvent"

    .prologue
    .line 960
    const/4 v0, 0x0

    return v0
.end method

.method public onDragEnter(Lorg/zeam/DragSource;IIIILjava/lang/Object;)V
    .locals 0
    .parameter "source"
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "dragInfo"

    .prologue
    .line 1150
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1151
    return-void
.end method

.method public onDragExit(Lorg/zeam/DragSource;IIIILjava/lang/Object;)V
    .locals 0
    .parameter "source"
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "dragInfo"

    .prologue
    .line 1166
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1167
    return-void
.end method

.method public onDragOver(Lorg/zeam/DragSource;IIIILjava/lang/Object;)V
    .locals 0
    .parameter "source"
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "dragInfo"

    .prologue
    .line 1158
    return-void
.end method

.method public onDrop(Lorg/zeam/DragSource;IIIILjava/lang/Object;)V
    .locals 21
    .parameter "source"
    .parameter "x"
    .parameter "y"
    .parameter "xOffset"
    .parameter "yOffset"
    .parameter "dragInfo"

    .prologue
    .line 1117
    invoke-direct/range {p0 .. p0}, Lorg/zeam/Workspace;->getCurrentDropLayout()Lorg/zeam/CellLayout;

    move-result-object v11

    .line 1118
    .local v11, cellLayout:Lorg/zeam/CellLayout;
    move-object/from16 v0, p1

    move-object/from16 v1, p0

    if-eq v0, v1, :cond_1

    .line 1119
    sub-int v5, p2, p4

    sub-int v6, p3, p5

    move-object/from16 v0, p0

    move v1, v5

    move v2, v6

    move-object/from16 v3, p6

    move-object v4, v11

    invoke-direct {v0, v1, v2, v3, v4}, Lorg/zeam/Workspace;->onDropExternal(IILjava/lang/Object;Lorg/zeam/CellLayout;)V

    .line 1142
    :cond_0
    :goto_0
    return-void

    .line 1121
    :cond_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    if-eqz v5, :cond_0

    .line 1122
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    iget-object v10, v5, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    .line 1123
    .local v10, cell:Landroid/view/View;
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    move-object v5, v0

    invoke-virtual {v5}, Landroid/widget/Scroller;->isFinished()Z

    move-result v5

    if-eqz v5, :cond_3

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v5, v0

    move/from16 v16, v5

    .line 1125
    .local v16, index:I
    :goto_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    iget v5, v5, Lorg/zeam/CellLayout$CellInfo;->screen:I

    move/from16 v0, v16

    move v1, v5

    if-eq v0, v1, :cond_2

    .line 1126
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    iget v5, v5, Lorg/zeam/CellLayout$CellInfo;->screen:I

    move-object/from16 v0, p0

    move v1, v5

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v20

    check-cast v20, Lorg/zeam/CellLayout;

    .line 1127
    .local v20, originalCellLayout:Lorg/zeam/CellLayout;
    move-object/from16 v0, v20

    move-object v1, v10

    invoke-virtual {v0, v1}, Lorg/zeam/CellLayout;->removeView(Landroid/view/View;)V

    .line 1128
    invoke-virtual {v11, v10}, Lorg/zeam/CellLayout;->addView(Landroid/view/View;)V

    .line 1130
    .end local v20           #originalCellLayout:Lorg/zeam/CellLayout;
    :cond_2
    sub-int v6, p2, p4

    sub-int v7, p3, p5

    .line 1131
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    iget v8, v5, Lorg/zeam/CellLayout$CellInfo;->spanX:I

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    move-object v5, v0

    iget v9, v5, Lorg/zeam/CellLayout$CellInfo;->spanY:I

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTargetCell:[I

    move-object v12, v0

    move-object/from16 v5, p0

    .line 1130
    invoke-direct/range {v5 .. v12}, Lorg/zeam/Workspace;->estimateDropCell(IIIILandroid/view/View;Lorg/zeam/CellLayout;[I)[I

    move-result-object v5

    move-object v0, v5

    move-object/from16 v1, p0

    iput-object v0, v1, Lorg/zeam/Workspace;->mTargetCell:[I

    .line 1133
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTargetCell:[I

    move-object v5, v0

    invoke-virtual {v11, v10, v5}, Lorg/zeam/CellLayout;->onDropChild(Landroid/view/View;[I)V

    .line 1134
    invoke-virtual {v10}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v13

    check-cast v13, Lorg/zeam/ItemInfo;

    .line 1135
    .local v13, itemInfo:Lorg/zeam/ItemInfo;
    invoke-virtual {v10}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v19

    check-cast v19, Lorg/zeam/CellLayout$LayoutParams;

    .line 1137
    .local v19, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v12, v0

    .line 1138
    const-wide/16 v14, -0x64

    .line 1139
    move-object/from16 v0, v19

    iget v0, v0, Lorg/zeam/CellLayout$LayoutParams;->cellX:I

    move/from16 v17, v0

    move-object/from16 v0, v19

    iget v0, v0, Lorg/zeam/CellLayout$LayoutParams;->cellY:I

    move/from16 v18, v0

    .line 1137
    invoke-static/range {v12 .. v18}, Lorg/zeam/LauncherModel;->moveItemInDatabase(Landroid/content/Context;Lorg/zeam/ItemInfo;JIII)V

    goto/16 :goto_0

    .line 1123
    .end local v13           #itemInfo:Lorg/zeam/ItemInfo;
    .end local v16           #index:I
    .end local v19           #layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    :cond_3
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mNextScreen:I

    move v5, v0

    move/from16 v16, v5

    goto :goto_1
.end method

.method public onDropCompleted(Landroid/view/View;Z)V
    .locals 3
    .parameter "target"
    .parameter "success"

    .prologue
    .line 1298
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1300
    if-eqz p2, :cond_1

    .line 1301
    if-eq p1, p0, :cond_0

    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    if-eqz v2, :cond_0

    .line 1302
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget v2, v2, Lorg/zeam/CellLayout$CellInfo;->screen:I

    invoke-virtual {p0, v2}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lorg/zeam/CellLayout;

    .line 1304
    .local v0, cellLayout:Lorg/zeam/CellLayout;
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget-object v2, v2, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    invoke-virtual {v0, v2}, Lorg/zeam/CellLayout;->removeView(Landroid/view/View;)V

    .line 1305
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget-object v2, v2, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    invoke-virtual {v2}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v1

    .line 1306
    .local v1, tag:Ljava/lang/Object;
    invoke-static {}, Lorg/zeam/Launcher;->getModel()Lorg/zeam/LauncherModel;

    move-result-object v2

    check-cast v1, Lorg/zeam/ItemInfo;

    .end local v1           #tag:Ljava/lang/Object;
    invoke-virtual {v2, v1}, Lorg/zeam/LauncherModel;->removeDesktopItem(Lorg/zeam/ItemInfo;)V

    .line 1314
    .end local v0           #cellLayout:Lorg/zeam/CellLayout;
    :cond_0
    :goto_0
    const/4 v2, 0x0

    iput-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    .line 1315
    return-void

    .line 1309
    :cond_1
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    if-eqz v2, :cond_0

    .line 1310
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget v2, v2, Lorg/zeam/CellLayout$CellInfo;->screen:I

    invoke-virtual {p0, v2}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Lorg/zeam/CellLayout;

    .line 1311
    .restart local v0       #cellLayout:Lorg/zeam/CellLayout;
    iget-object v2, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget-object v2, v2, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    invoke-virtual {v0, v2}, Lorg/zeam/CellLayout;->onDropAborted(Landroid/view/View;)V

    goto :goto_0
.end method

.method public onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
    .locals 1
    .parameter "motionEvent1"
    .parameter "motionEvent2"
    .parameter "f1"
    .parameter "f2"

    .prologue
    .line 964
    const/4 v0, 0x0

    return v0
.end method

.method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
    .locals 20
    .parameter "motionEvent"

    .prologue
    .line 705
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mStatus:I

    move v3, v0

    const/4 v4, 0x3

    if-ne v3, v4, :cond_1

    .line 706
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v3

    if-nez v3, :cond_0

    .line 707
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F

    move-result v3

    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F

    move-result v4

    move-object/from16 v0, p0

    move v1, v3

    move v2, v4

    invoke-direct {v0, v1, v2}, Lorg/zeam/Workspace;->expandPreview(FF)V

    .line 709
    :cond_0
    const/4 v3, 0x1

    .line 797
    :goto_0
    return v3

    .line 711
    :cond_1
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mLocked:Z

    move v3, v0

    if-nez v3, :cond_2

    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object v3, v0

    invoke-virtual {v3}, Lorg/zeam/Launcher;->isApplicationsGridOpen()Z

    move-result v3

    if-eqz v3, :cond_3

    .line 712
    :cond_2
    const/4 v3, 0x1

    goto :goto_0

    .line 714
    :cond_3
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v10

    .line 715
    .local v10, action:I
    const/4 v3, 0x2

    if-ne v10, v3, :cond_4

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchState:I

    move v3, v0

    if-eqz v3, :cond_4

    .line 716
    const/4 v3, 0x1

    goto :goto_0

    .line 718
    :cond_4
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

    move-object v3, v0

    move-object v0, v3

    move-object/from16 v1, p1

    invoke-virtual {v0, v1}, Landroid/view/ScaleGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z

    .line 719
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

    move-object v3, v0

    invoke-virtual {v3}, Landroid/view/ScaleGestureDetector;->isInProgress()Z

    move-result v3

    if-eqz v3, :cond_5

    .line 720
    const/4 v3, 0x0

    goto :goto_0

    .line 722
    :cond_5
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F

    move-result v14

    .line 723
    .local v14, x:F
    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F

    move-result v17

    .line 725
    .local v17, y:F
    packed-switch v10, :pswitch_data_0

    .line 793
    :cond_6
    :goto_1
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchState:I

    move v3, v0

    if-eqz v3, :cond_f

    const/4 v3, 0x1

    move v12, v3

    .line 794
    .local v12, interceptDoubleTap:Z
    :goto_2
    if-nez v12, :cond_10

    .line 795
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mGestureDetector:Landroid/view/GestureDetector;

    move-object v3, v0

    move-object v0, v3

    move-object/from16 v1, p1

    invoke-virtual {v0, v1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z

    move-result v3

    goto :goto_0

    .line 728
    .end local v12           #interceptDoubleTap:Z
    :pswitch_0
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mLastMotionX:F

    move v3, v0

    sub-float v3, v14, v3

    invoke-static {v3}, Ljava/lang/Math;->abs(F)F

    move-result v3

    float-to-int v15, v3

    .line 729
    .local v15, xDiff:I
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mLastMotionY:F

    move v3, v0

    sub-float v3, v17, v3

    invoke-static {v3}, Ljava/lang/Math;->abs(F)F

    move-result v3

    move v0, v3

    float-to-int v0, v0

    move/from16 v18, v0

    .line 730
    .local v18, yDiff:I
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchSlop:I

    move v13, v0

    .line 732
    .local v13, touchSlop:I
    if-le v15, v13, :cond_9

    const/4 v3, 0x1

    move/from16 v16, v3

    .line 733
    .local v16, xMoved:Z
    :goto_3
    move/from16 v0, v18

    move v1, v13

    if-le v0, v1, :cond_a

    const/4 v3, 0x1

    move/from16 v19, v3

    .line 735
    .local v19, yMoved:Z
    :goto_4
    if-nez v16, :cond_7

    if-eqz v19, :cond_6

    .line 736
    :cond_7
    move v0, v15

    move/from16 v1, v18

    if-le v0, v1, :cond_b

    .line 738
    const/4 v3, 0x1

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mTouchState:I

    .line 739
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->enableChildrenCache()V

    .line 753
    :cond_8
    :goto_5
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mAllowLongPress:Z

    move v3, v0

    if-eqz v3, :cond_6

    .line 754
    const/4 v3, 0x0

    move v0, v3

    move-object/from16 v1, p0

    iput-boolean v0, v1, Lorg/zeam/Workspace;->mAllowLongPress:Z

    .line 755
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v3, v0

    move-object/from16 v0, p0

    move v1, v3

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v11

    .line 756
    .local v11, currentScreen:Landroid/view/View;
    invoke-virtual {v11}, Landroid/view/View;->cancelLongPress()V

    goto :goto_1

    .line 732
    .end local v11           #currentScreen:Landroid/view/View;
    .end local v16           #xMoved:Z
    .end local v19           #yMoved:Z
    :cond_9
    const/4 v3, 0x0

    move/from16 v16, v3

    goto :goto_3

    .line 733
    .restart local v16       #xMoved:Z
    :cond_a
    const/4 v3, 0x0

    move/from16 v19, v3

    goto :goto_4

    .line 741
    .restart local v19       #yMoved:Z
    :cond_b
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getOpenFolder()Lorg/zeam/Folder;

    move-result-object v3

    if-nez v3, :cond_8

    .line 743
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mLastMotionY:F

    move v3, v0

    sub-float v3, v17, v3

    const/4 v4, 0x0

    cmpl-float v3, v3, v4

    if-lez v3, :cond_c

    .line 744
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mLastMotionY:F

    move v3, v0

    sub-float v3, v17, v3

    invoke-static {v3}, Ljava/lang/Math;->abs(F)F

    move-result v3

    mul-int/lit8 v4, v13, 0x2

    int-to-float v4, v4

    cmpl-float v3, v3, v4

    if-lez v3, :cond_8

    .line 745
    const/4 v3, 0x2

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mTouchState:I

    goto :goto_5

    .line 748
    :cond_c
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mLastMotionY:F

    move v3, v0

    sub-float v3, v17, v3

    invoke-static {v3}, Ljava/lang/Math;->abs(F)F

    move-result v3

    mul-int/lit8 v4, v13, 0x2

    int-to-float v4, v4

    cmpl-float v3, v3, v4

    if-lez v3, :cond_8

    .line 749
    const/4 v3, 0x3

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mTouchState:I

    goto :goto_5

    .line 763
    .end local v13           #touchSlop:I
    .end local v15           #xDiff:I
    .end local v16           #xMoved:Z
    .end local v18           #yDiff:I
    .end local v19           #yMoved:Z
    :pswitch_1
    move v0, v14

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mLastMotionX:F

    .line 764
    move/from16 v0, v17

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mLastMotionY:F

    .line 765
    const/4 v3, 0x1

    move v0, v3

    move-object/from16 v1, p0

    iput-boolean v0, v1, Lorg/zeam/Workspace;->mAllowLongPress:Z

    .line 766
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    move-object v3, v0

    invoke-virtual {v3}, Landroid/widget/Scroller;->isFinished()Z

    move-result v3

    if-eqz v3, :cond_d

    const/4 v3, 0x0

    :goto_6
    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mTouchState:I

    goto/16 :goto_1

    :cond_d
    const/4 v3, 0x1

    goto :goto_6

    .line 772
    :pswitch_2
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchState:I

    move v3, v0

    const/4 v4, 0x1

    if-eq v3, v4, :cond_e

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchState:I

    move v3, v0

    const/4 v4, 0x2

    if-eq v3, v4, :cond_e

    .line 773
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mTouchState:I

    move v3, v0

    const/4 v4, 0x3

    if-eq v3, v4, :cond_e

    .line 775
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v3, v0

    move-object/from16 v0, p0

    move v1, v3

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v11

    check-cast v11, Lorg/zeam/CellLayout;

    .line 776
    .local v11, currentScreen:Lorg/zeam/CellLayout;
    invoke-virtual {v11}, Lorg/zeam/CellLayout;->lastDownOnOccupiedCell()Z

    move-result v3

    if-nez v3, :cond_e

    .line 778
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTempCell:[I

    move-object v3, v0

    move-object/from16 v0, p0

    move-object v1, v3

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getLocationOnScreen([I)V

    .line 779
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    move v3, v0

    if-eqz v3, :cond_e

    .line 780
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    move-object v3, v0

    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getWindowToken()Landroid/os/IBinder;

    move-result-object v4

    .line 781
    const-string v5, "android.wallpaper.tap"

    .line 782
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTempCell:[I

    move-object v6, v0

    const/4 v7, 0x0

    aget v6, v6, v7

    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F

    move-result v7

    float-to-int v7, v7

    add-int/2addr v6, v7

    .line 783
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mTempCell:[I

    move-object v7, v0

    const/4 v8, 0x1

    aget v7, v7, v8

    invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F

    move-result v8

    float-to-int v8, v8

    add-int/2addr v7, v8

    const/4 v8, 0x0

    const/4 v9, 0x0

    .line 780
    invoke-virtual/range {v3 .. v9}, Landroid/app/WallpaperManager;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)V

    .line 786
    .end local v11           #currentScreen:Lorg/zeam/CellLayout;
    :cond_e
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->clearChildrenCache()V

    .line 787
    const/4 v3, 0x0

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mTouchState:I

    .line 788
    const/4 v3, 0x0

    move v0, v3

    move-object/from16 v1, p0

    iput-boolean v0, v1, Lorg/zeam/Workspace;->mAllowLongPress:Z

    goto/16 :goto_1

    .line 793
    :cond_f
    const/4 v3, 0x0

    move v12, v3

    goto/16 :goto_2

    .line 797
    .restart local v12       #interceptDoubleTap:Z
    :cond_10
    const/4 v3, 0x1

    goto/16 :goto_0

    .line 725
    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_1
        :pswitch_2
        :pswitch_0
        :pswitch_2
    .end packed-switch
.end method

.method protected onLayout(ZIIII)V
    .locals 8
    .parameter "changed"
    .parameter "left"
    .parameter "top"
    .parameter "right"
    .parameter "bottom"

    .prologue
    .line 611
    const/4 v1, 0x0

    .line 612
    .local v1, childLeft:I
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v3

    .line 613
    .local v3, count:I
    const/4 v4, 0x0

    .local v4, i:I
    :goto_0
    if-lt v4, v3, :cond_1

    .line 621
    iget-boolean v5, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-eqz v5, :cond_0

    .line 622
    iget-boolean v5, p0, Lorg/zeam/Workspace;->mWallpaperScroll:Z

    if-eqz v5, :cond_3

    .line 623
    invoke-direct {p0}, Lorg/zeam/Workspace;->updateWallpaperOffset()V

    .line 628
    :cond_0
    :goto_1
    return-void

    .line 614
    :cond_1
    invoke-virtual {p0, v4}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v0

    .line 615
    .local v0, child:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getVisibility()I

    move-result v5

    const/16 v6, 0x8

    if-eq v5, v6, :cond_2

    .line 616
    invoke-virtual {v0}, Landroid/view/View;->getMeasuredWidth()I

    move-result v2

    .line 617
    .local v2, childWidth:I
    const/4 v5, 0x0

    add-int v6, v1, v2

    invoke-virtual {v0}, Landroid/view/View;->getMeasuredHeight()I

    move-result v7

    invoke-virtual {v0, v1, v5, v6, v7}, Landroid/view/View;->layout(IIII)V

    .line 618
    add-int/2addr v1, v2

    .line 613
    .end local v2           #childWidth:I
    :cond_2
    add-int/lit8 v4, v4, 0x1

    goto :goto_0

    .line 625
    .end local v0           #child:Landroid/view/View;
    :cond_3
    invoke-direct {p0}, Lorg/zeam/Workspace;->centerWallpaperOffset()V

    goto :goto_1
.end method

.method public onLongPress(Landroid/view/MotionEvent;)V
    .locals 0
    .parameter "motionEvent"

    .prologue
    .line 968
    return-void
.end method

.method protected onMeasure(II)V
    .locals 18
    .parameter "widthMeasureSpec"
    .parameter "heightMeasureSpec"

    .prologue
    .line 570
    invoke-super/range {p0 .. p2}, Landroid/view/ViewGroup;->onMeasure(II)V

    .line 571
    invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getSize(I)I

    move-result v16

    .line 572
    .local v16, width:I
    invoke-static/range {p1 .. p1}, Landroid/view/View$MeasureSpec;->getMode(I)I

    move-result v17

    .line 573
    .local v17, widthMode:I
    const/high16 v3, 0x4000

    move/from16 v0, v17

    move v1, v3

    if-eq v0, v1, :cond_0

    .line 574
    new-instance v3, Ljava/lang/IllegalStateException;

    const-string v4, "Workspace can only be used in EXACTLY mode."

    invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v3

    .line 576
    :cond_0
    invoke-static/range {p2 .. p2}, Landroid/view/View$MeasureSpec;->getMode(I)I

    move-result v11

    .line 577
    .local v11, heightMode:I
    const/high16 v3, 0x4000

    if-eq v11, v3, :cond_1

    .line 578
    new-instance v3, Ljava/lang/IllegalStateException;

    const-string v4, "Workspace can only be used in EXACTLY mode."

    invoke-direct {v3, v4}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v3

    .line 580
    :cond_1
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v10

    .line 581
    .local v10, count:I
    const/4 v12, 0x0

    .local v12, i:I
    :goto_0
    if-lt v12, v10, :cond_6

    .line 584
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    move v3, v0

    if-nez v3, :cond_3

    .line 585
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mWallpaperLoaded:Z

    move v3, v0

    if-eqz v3, :cond_2

    .line 586
    const/4 v3, 0x0

    move v0, v3

    move-object/from16 v1, p0

    iput-boolean v0, v1, Lorg/zeam/Workspace;->mWallpaperLoaded:Z

    .line 587
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    move-object v3, v0

    invoke-virtual {v3}, Landroid/graphics/drawable/BitmapDrawable;->getIntrinsicWidth()I

    move-result v3

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mWallpaperWidth:I

    .line 589
    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mWallpaperWidth:I

    move v15, v0

    .line 590
    .local v15, wallpaperWidth:I
    move v0, v15

    move/from16 v1, v16

    if-le v0, v1, :cond_7

    mul-int v3, v10, v16

    .line 591
    sub-int/2addr v3, v15

    int-to-float v3, v3

    const/4 v4, 0x1

    sub-int v4, v10, v4

    int-to-float v4, v4

    move/from16 v0, v16

    int-to-float v0, v0

    move v5, v0

    mul-float/2addr v4, v5

    div-float/2addr v3, v4

    .line 590
    :goto_1
    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->mWallpaperOffset:F

    .line 593
    .end local v15           #wallpaperWidth:I
    :cond_3
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mFirstLayout:Z

    move v3, v0

    if-eqz v3, :cond_5

    .line 594
    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v3, v0

    mul-int v3, v3, v16

    const/4 v4, 0x0

    move-object/from16 v0, p0

    move v1, v3

    move v2, v4

    invoke-virtual {v0, v1, v2}, Lorg/zeam/Workspace;->scrollTo(II)V

    .line 595
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    move-object v3, v0

    const/4 v4, 0x0

    const/4 v5, 0x0

    move-object/from16 v0, p0

    iget v0, v0, Lorg/zeam/Workspace;->mScreenCurrent:I

    move v6, v0

    mul-int v6, v6, v16

    const/4 v7, 0x0

    const/4 v8, 0x0

    invoke-virtual/range {v3 .. v8}, Landroid/widget/Scroller;->startScroll(IIIII)V

    .line 596
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    move v3, v0

    if-eqz v3, :cond_4

    .line 597
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v3

    const/4 v4, 0x1

    sub-int/2addr v3, v4

    mul-int v3, v3, v16

    move-object/from16 v0, p0

    move v1, v3

    invoke-direct {v0, v1}, Lorg/zeam/Workspace;->updateWallpaperOffset(I)V

    .line 599
    :cond_4
    const/4 v3, 0x0

    move v0, v3

    move-object/from16 v1, p0

    iput-boolean v0, v1, Lorg/zeam/Workspace;->mFirstLayout:Z

    .line 601
    :cond_5
    const/4 v13, 0x3

    .line 602
    .local v13, max:I
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getMeasuredWidth()I

    move-result v9

    .line 603
    .local v9, aW:I
    div-int v3, v9, v13

    int-to-float v14, v3

    .line 604
    .local v14, w:F
    float-to-int v3, v14

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->maxPreviewWidth:I

    .line 605
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getMeasuredHeight()I

    move-result v3

    int-to-float v3, v3

    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getMeasuredWidth()I

    move-result v4

    int-to-float v4, v4

    div-float v4, v14, v4

    mul-float/2addr v3, v4

    float-to-int v3, v3

    move v0, v3

    move-object/from16 v1, p0

    iput v0, v1, Lorg/zeam/Workspace;->maxPreviewHeight:I

    .line 606
    return-void

    .line 582
    .end local v9           #aW:I
    .end local v13           #max:I
    .end local v14           #w:F
    :cond_6
    move-object/from16 v0, p0

    move v1, v12

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v3

    move-object v0, v3

    move/from16 v1, p1

    move/from16 v2, p2

    invoke-virtual {v0, v1, v2}, Landroid/view/View;->measure(II)V

    .line 581
    add-int/lit8 v12, v12, 0x1

    goto/16 :goto_0

    .line 591
    .restart local v15       #wallpaperWidth:I
    :cond_7
    const/high16 v3, 0x3f80

    goto :goto_1
.end method

.method protected onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
    .locals 4
    .parameter "direction"
    .parameter "previouslyFocusedRect"

    .prologue
    .line 646
    iget-object v2, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v2}, Lorg/zeam/Launcher;->isApplicationsGridOpen()Z

    move-result v2

    if-nez v2, :cond_1

    .line 647
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getOpenFolder()Lorg/zeam/Folder;

    move-result-object v1

    .line 648
    .local v1, openFolder:Lorg/zeam/Folder;
    if-eqz v1, :cond_0

    .line 649
    invoke-virtual {v1, p1, p2}, Lorg/zeam/Folder;->requestFocus(ILandroid/graphics/Rect;)Z

    move-result v2

    .line 660
    .end local v1           #openFolder:Lorg/zeam/Folder;
    :goto_0
    return v2

    .line 652
    .restart local v1       #openFolder:Lorg/zeam/Folder;
    :cond_0
    iget v2, p0, Lorg/zeam/Workspace;->mNextScreen:I

    const/4 v3, -0x1

    if-eq v2, v3, :cond_2

    .line 653
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 657
    .local v0, focusableScreen:I
    :goto_1
    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    invoke-virtual {v2, p1, p2}, Landroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z

    .line 660
    .end local v0           #focusableScreen:I
    .end local v1           #openFolder:Lorg/zeam/Folder;
    :cond_1
    const/4 v2, 0x0

    goto :goto_0

    .line 655
    .restart local v1       #openFolder:Lorg/zeam/Folder;
    :cond_2
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .restart local v0       #focusableScreen:I
    goto :goto_1
.end method

.method protected onRestoreInstanceState(Landroid/os/Parcelable;)V
    .locals 5
    .parameter "state"

    .prologue
    .line 1089
    :try_start_0
    move-object v0, p1

    check-cast v0, Lorg/zeam/Workspace$SavedState;

    move-object v2, v0

    .line 1090
    .local v2, savedState:Lorg/zeam/Workspace$SavedState;
    invoke-virtual {v2}, Lorg/zeam/Workspace$SavedState;->getSuperState()Landroid/os/Parcelable;

    move-result-object v3

    invoke-super {p0, v3}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V

    .line 1091
    iget v3, v2, Lorg/zeam/Workspace$SavedState;->currentScreen:I

    const/4 v4, -0x1

    if-eq v3, v4, :cond_0

    .line 1092
    iget v3, v2, Lorg/zeam/Workspace$SavedState;->currentScreen:I

    iput v3, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 1093
    iget v3, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-static {v3}, Lorg/zeam/Launcher;->setScreen(I)V
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 1098
    .end local v2           #savedState:Lorg/zeam/Workspace$SavedState;
    :cond_0
    :goto_0
    return-void

    .line 1095
    :catch_0
    move-exception v3

    move-object v1, v3

    .line 1096
    .local v1, e:Ljava/lang/Exception;
    const/4 v3, 0x0

    invoke-super {p0, v3}, Landroid/view/ViewGroup;->onRestoreInstanceState(Landroid/os/Parcelable;)V

    goto :goto_0
.end method

.method protected onSaveInstanceState()Landroid/os/Parcelable;
    .locals 2

    .prologue
    .line 1080
    new-instance v0, Lorg/zeam/Workspace$SavedState;

    invoke-super {p0}, Landroid/view/ViewGroup;->onSaveInstanceState()Landroid/os/Parcelable;

    move-result-object v1

    invoke-direct {v0, v1}, Lorg/zeam/Workspace$SavedState;-><init>(Landroid/os/Parcelable;)V

    .line 1081
    .local v0, state:Lorg/zeam/Workspace$SavedState;
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    iput v1, v0, Lorg/zeam/Workspace$SavedState;->currentScreen:I

    .line 1082
    return-object v0
.end method

.method public onScale(Landroid/view/ScaleGestureDetector;)Z
    .locals 7
    .parameter "scaleGestureDetector"

    .prologue
    const/4 v6, 0x0

    const/high16 v5, -0x4080

    .line 991
    invoke-virtual {p1}, Landroid/view/ScaleGestureDetector;->getTimeDelta()J

    move-result-wide v1

    const-wide/16 v3, 0x64

    cmp-long v1, v1, v3

    if-lez v1, :cond_0

    .line 992
    new-instance v1, Landroid/view/ScaleGestureDetector;

    iget-object v2, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-direct {v1, v2, p0}, Landroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V

    iput-object v1, p0, Lorg/zeam/Workspace;->mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

    .line 993
    const/4 v1, 0x1

    .line 1003
    :goto_0
    return v1

    .line 995
    :cond_0
    iget v1, p0, Lorg/zeam/Workspace;->mCurrentSpan:F

    cmpl-float v1, v1, v5

    if-lez v1, :cond_1

    .line 996
    invoke-virtual {p1}, Landroid/view/ScaleGestureDetector;->getCurrentSpan()F

    move-result v0

    .line 997
    .local v0, currentSpan:F
    iget v1, p0, Lorg/zeam/Workspace;->mCurrentSpan:F

    cmpl-float v1, v1, v0

    if-lez v1, :cond_1

    .line 998
    iget-object v1, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    iget v2, p0, Lorg/zeam/Workspace;->mScreenCount:I

    invoke-virtual {v1, v6, v2}, Lorg/zeam/Launcher;->showPreviews(II)V

    .line 999
    new-instance v1, Landroid/view/ScaleGestureDetector;

    iget-object v2, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-direct {v1, v2, p0}, Landroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V

    iput-object v1, p0, Lorg/zeam/Workspace;->mScaleGestureDetector:Landroid/view/ScaleGestureDetector;

    .line 1000
    iput v5, p0, Lorg/zeam/Workspace;->mCurrentSpan:F

    .end local v0           #currentSpan:F
    :cond_1
    move v1, v6

    .line 1003
    goto :goto_0
.end method

.method public onScaleBegin(Landroid/view/ScaleGestureDetector;)Z
    .locals 1
    .parameter "scaleGestureDetector"

    .prologue
    .line 984
    invoke-virtual {p1}, Landroid/view/ScaleGestureDetector;->getCurrentSpan()F

    move-result v0

    iput v0, p0, Lorg/zeam/Workspace;->mCurrentSpan:F

    .line 985
    const/4 v0, 0x1

    return v0
.end method

.method public onScaleEnd(Landroid/view/ScaleGestureDetector;)V
    .locals 0
    .parameter "scaleGestureDetector"

    .prologue
    .line 1008
    return-void
.end method

.method public onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
    .locals 1
    .parameter "motionEvent1"
    .parameter "motionEvent2"
    .parameter "f1"
    .parameter "f2"

    .prologue
    .line 971
    const/4 v0, 0x0

    return v0
.end method

.method public onShowPress(Landroid/view/MotionEvent;)V
    .locals 0
    .parameter "motionEvent"

    .prologue
    .line 975
    return-void
.end method

.method public onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
    .locals 1
    .parameter "motionEvent"

    .prologue
    .line 956
    const/4 v0, 0x0

    return v0
.end method

.method public onSingleTapUp(Landroid/view/MotionEvent;)Z
    .locals 1
    .parameter "motionEvent"

    .prologue
    .line 978
    const/4 v0, 0x0

    return v0
.end method

.method protected onSizeChanged(IIII)V
    .locals 1
    .parameter "w"
    .parameter "h"
    .parameter "oldw"
    .parameter "oldh"

    .prologue
    .line 484
    invoke-super {p0, p1, p2, p3, p4}, Landroid/view/ViewGroup;->onSizeChanged(IIII)V

    .line 485
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    if-eqz v0, :cond_0

    .line 486
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getWindow()Landroid/view/Window;

    move-result-object v0

    invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;

    move-result-object v0

    invoke-virtual {v0}, Landroid/view/View;->getHeight()I

    move-result v0

    sub-int v0, p2, v0

    iput v0, p0, Lorg/zeam/Workspace;->mWallpaperYOffset:I

    .line 488
    :cond_0
    return-void
.end method

.method public onTouchEvent(Landroid/view/MotionEvent;)Z
    .locals 12
    .parameter "motionEvent"

    .prologue
    const/4 v10, 0x0

    const/4 v11, 0x1

    .line 829
    iget-boolean v8, p0, Lorg/zeam/Workspace;->mLocked:Z

    if-nez v8, :cond_0

    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v8}, Lorg/zeam/Launcher;->isApplicationsGridOpen()Z

    move-result v8

    if-nez v8, :cond_0

    iget-boolean v8, p0, Lorg/zeam/Workspace;->mPreviews:Z

    if-eqz v8, :cond_1

    :cond_0
    move v8, v11

    .line 942
    :goto_0
    return v8

    .line 832
    :cond_1
    iget-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    if-nez v8, :cond_2

    .line 833
    invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;

    move-result-object v8

    iput-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    .line 835
    :cond_2
    iget-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    invoke-virtual {v8, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V

    .line 836
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I

    move-result v0

    .line 837
    .local v0, action:I
    invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F

    move-result v7

    .line 839
    .local v7, x:F
    packed-switch v0, :pswitch_data_0

    :cond_3
    :goto_1
    move v8, v11

    .line 942
    goto :goto_0

    .line 841
    :pswitch_0
    iget-object v8, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v8}, Landroid/widget/Scroller;->isFinished()Z

    move-result v8

    if-nez v8, :cond_4

    .line 842
    iget-object v8, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v8}, Landroid/widget/Scroller;->abortAnimation()V

    .line 844
    :cond_4
    iput v7, p0, Lorg/zeam/Workspace;->mLastMotionX:F

    goto :goto_1

    .line 848
    :pswitch_1
    iget v8, p0, Lorg/zeam/Workspace;->mTouchState:I

    if-ne v8, v11, :cond_3

    .line 850
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCount:I

    if-ne v8, v11, :cond_5

    .line 851
    iput v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    move v8, v11

    .line 852
    goto :goto_0

    .line 854
    :cond_5
    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-static {v8}, Lorg/zeam/PreferencesUtil;->isScreenLoopingEnabled(Landroid/content/Context;)Z

    move-result v4

    .line 856
    .local v4, screenLooping:Z
    iget v8, p0, Lorg/zeam/Workspace;->mLastMotionX:F

    sub-float/2addr v8, v7

    float-to-int v2, v8

    .line 857
    .local v2, deltaX:I
    iput v7, p0, Lorg/zeam/Workspace;->mLastMotionX:F

    .line 859
    if-gez v2, :cond_9

    .line 860
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v8

    iget v9, p0, Lorg/zeam/Workspace;->mScrollingBounce:I

    neg-int v9, v9

    if-le v8, v9, :cond_7

    .line 862
    iget v8, p0, Lorg/zeam/Workspace;->mScrollingBounce:I

    invoke-static {v2, v8}, Ljava/lang/Math;->min(II)I

    move-result v8

    invoke-virtual {p0, v8, v10}, Lorg/zeam/Workspace;->scrollBy(II)V

    .line 863
    iget-boolean v8, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-eqz v8, :cond_6

    .line 864
    invoke-direct {p0}, Lorg/zeam/Workspace;->updateWallpaperOffset()V

    .line 866
    :cond_6
    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v8}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v3

    .line 867
    .local v3, screenIndicator:Lorg/zeam/ScreenIndicator;
    if-eqz v3, :cond_3

    .line 868
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v8

    int-to-float v8, v8

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v9

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v10

    mul-int/2addr v9, v10

    int-to-float v9, v9

    div-float/2addr v8, v9

    invoke-virtual {v3, v8}, Lorg/zeam/ScreenIndicator;->indicate(F)V

    goto :goto_1

    .line 871
    .end local v3           #screenIndicator:Lorg/zeam/ScreenIndicator;
    :cond_7
    if-eqz v4, :cond_3

    .line 872
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-nez v8, :cond_3

    .line 874
    invoke-virtual {p0}, Lorg/zeam/Workspace;->isElasticScrollingEnabled()Z

    move-result v8

    if-eqz v8, :cond_8

    .line 875
    iput-boolean v11, p0, Lorg/zeam/Workspace;->mEnableOvershootInterpolatorOnScrollFinish:Z

    .line 876
    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->setElasticScrolling(Z)V

    .line 878
    :cond_8
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCount:I

    sub-int/2addr v8, v11

    invoke-virtual {p0, v8}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 879
    iput v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    goto :goto_1

    .line 884
    :cond_9
    if-lez v2, :cond_3

    .line 885
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v8

    sub-int/2addr v8, v11

    invoke-virtual {p0, v8}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v8

    invoke-virtual {v8}, Landroid/view/View;->getRight()I

    move-result v8

    .line 886
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v9

    .line 885
    sub-int/2addr v8, v9

    .line 886
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v9

    .line 885
    sub-int/2addr v8, v9

    .line 886
    iget v9, p0, Lorg/zeam/Workspace;->mScrollingBounce:I

    .line 885
    add-int v1, v8, v9

    .line 888
    .local v1, availableToScroll:I
    if-lez v1, :cond_b

    .line 889
    invoke-virtual {p0, v2, v10}, Lorg/zeam/Workspace;->scrollBy(II)V

    .line 890
    iget-boolean v8, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    if-eqz v8, :cond_a

    .line 891
    invoke-direct {p0}, Lorg/zeam/Workspace;->updateWallpaperOffset()V

    .line 893
    :cond_a
    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v8}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v3

    .line 894
    .restart local v3       #screenIndicator:Lorg/zeam/ScreenIndicator;
    if-eqz v3, :cond_3

    .line 895
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getScrollX()I

    move-result v8

    int-to-float v8, v8

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v9

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v10

    mul-int/2addr v9, v10

    int-to-float v9, v9

    div-float/2addr v8, v9

    invoke-virtual {v3, v8}, Lorg/zeam/ScreenIndicator;->indicate(F)V

    goto/16 :goto_1

    .line 898
    .end local v3           #screenIndicator:Lorg/zeam/ScreenIndicator;
    :cond_b
    if-eqz v4, :cond_3

    .line 899
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    iget v9, p0, Lorg/zeam/Workspace;->mScreenCount:I

    sub-int/2addr v9, v11

    if-ne v8, v9, :cond_3

    .line 901
    invoke-virtual {p0}, Lorg/zeam/Workspace;->isElasticScrollingEnabled()Z

    move-result v8

    if-eqz v8, :cond_c

    .line 902
    iput-boolean v11, p0, Lorg/zeam/Workspace;->mEnableOvershootInterpolatorOnScrollFinish:Z

    .line 903
    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->setElasticScrolling(Z)V

    .line 905
    :cond_c
    invoke-virtual {p0, v10}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 906
    iput v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    goto/16 :goto_1

    .line 915
    .end local v1           #availableToScroll:I
    .end local v2           #deltaX:I
    .end local v4           #screenLooping:Z
    :pswitch_2
    iget v8, p0, Lorg/zeam/Workspace;->mTouchState:I

    if-ne v8, v11, :cond_10

    .line 917
    iget-object v5, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    .line 918
    .local v5, velocityTracker:Landroid/view/VelocityTracker;
    const/16 v8, 0x3e8

    iget v9, p0, Lorg/zeam/Workspace;->mMaximumVelocity:I

    int-to-float v9, v9

    invoke-virtual {v5, v8, v9}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V

    .line 919
    invoke-virtual {v5}, Landroid/view/VelocityTracker;->getXVelocity()F

    move-result v8

    float-to-int v6, v8

    .line 921
    .local v6, velocityX:I
    const/16 v8, 0x1f4

    if-le v6, v8, :cond_e

    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-lez v8, :cond_e

    .line 922
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    sub-int/2addr v8, v11

    invoke-virtual {p0, v8}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 928
    :goto_2
    iget-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    if-eqz v8, :cond_d

    .line 929
    iget-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    invoke-virtual {v8}, Landroid/view/VelocityTracker;->recycle()V

    .line 930
    const/4 v8, 0x0

    iput-object v8, p0, Lorg/zeam/Workspace;->mVelocityTracker:Landroid/view/VelocityTracker;

    .line 937
    .end local v5           #velocityTracker:Landroid/view/VelocityTracker;
    .end local v6           #velocityX:I
    :cond_d
    :goto_3
    iput v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    goto/16 :goto_1

    .line 923
    .restart local v5       #velocityTracker:Landroid/view/VelocityTracker;
    .restart local v6       #velocityX:I
    :cond_e
    const/16 v8, -0x1f4

    if-ge v6, v8, :cond_f

    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v9

    sub-int/2addr v9, v11

    if-ge v8, v9, :cond_f

    .line 924
    iget v8, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    add-int/lit8 v8, v8, 0x1

    invoke-virtual {p0, v8}, Lorg/zeam/Workspace;->snapToScreen(I)V

    goto :goto_2

    .line 926
    :cond_f
    invoke-direct {p0}, Lorg/zeam/Workspace;->snapToDestination()V

    goto :goto_2

    .line 932
    .end local v5           #velocityTracker:Landroid/view/VelocityTracker;
    .end local v6           #velocityX:I
    :cond_10
    iget v8, p0, Lorg/zeam/Workspace;->mTouchState:I

    const/4 v9, 0x2

    if-ne v8, v9, :cond_11

    .line 933
    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v8}, Lorg/zeam/Launcher;->fireSwipeDownAction()V

    goto :goto_3

    .line 934
    :cond_11
    iget v8, p0, Lorg/zeam/Workspace;->mTouchState:I

    const/4 v9, 0x3

    if-ne v8, v9, :cond_d

    .line 935
    iget-object v8, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v8}, Lorg/zeam/Launcher;->fireSwipeUpAction()V

    goto :goto_3

    .line 940
    :pswitch_3
    iput v10, p0, Lorg/zeam/Workspace;->mTouchState:I

    goto/16 :goto_1

    .line 839
    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_2
        :pswitch_1
        :pswitch_3
    .end packed-switch
.end method

.method removeShortcutsForPackage(Ljava/lang/String;)V
    .locals 23
    .parameter "packageName"

    .prologue
    .line 1431
    new-instance v5, Ljava/util/ArrayList;

    invoke-direct {v5}, Ljava/util/ArrayList;-><init>()V

    .line 1432
    .local v5, childrenToRemove:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Landroid/view/View;>;"
    invoke-static {}, Lorg/zeam/Launcher;->getModel()Lorg/zeam/LauncherModel;

    move-result-object v15

    .line 1433
    .local v15, model:Lorg/zeam/LauncherModel;
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v8

    .line 1435
    .local v8, count:I
    const/4 v10, 0x0

    .local v10, i:I
    :goto_0
    if-lt v10, v8, :cond_0

    .line 1502
    return-void

    .line 1437
    :cond_0
    move-object/from16 v0, p0

    move v1, v10

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v3

    check-cast v3, Lorg/zeam/CellLayout;

    .line 1438
    .local v3, cellLayout:Lorg/zeam/CellLayout;
    invoke-virtual {v3}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v4

    .line 1439
    .local v4, childCount:I
    invoke-virtual {v5}, Ljava/util/ArrayList;->clear()V

    .line 1441
    const/4 v13, 0x0

    .local v13, j:I
    :goto_1
    if-lt v13, v4, :cond_2

    .line 1493
    invoke-virtual {v5}, Ljava/util/ArrayList;->size()I

    move-result v4

    .line 1494
    const/4 v13, 0x0

    :goto_2
    if-lt v13, v4, :cond_7

    .line 1497
    if-lez v4, :cond_1

    .line 1498
    invoke-virtual {v3}, Lorg/zeam/CellLayout;->requestLayout()V

    .line 1499
    invoke-virtual {v3}, Lorg/zeam/CellLayout;->invalidate()V

    .line 1435
    :cond_1
    add-int/lit8 v10, v10, 0x1

    goto :goto_0

    .line 1443
    :cond_2
    invoke-virtual {v3, v13}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v20

    .line 1444
    .local v20, view:Landroid/view/View;
    invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v18

    .line 1446
    .local v18, tag:Ljava/lang/Object;
    move-object/from16 v0, v18

    instance-of v0, v0, Lorg/zeam/ApplicationItemInfo;

    move/from16 v21, v0

    if-eqz v21, :cond_4

    .line 1447
    move-object/from16 v0, v18

    check-cast v0, Lorg/zeam/ApplicationItemInfo;

    move-object v11, v0

    .line 1451
    .local v11, info:Lorg/zeam/ApplicationItemInfo;
    iget-object v12, v11, Lorg/zeam/ApplicationItemInfo;->intent:Landroid/content/Intent;

    .line 1452
    .local v12, intent:Landroid/content/Intent;
    invoke-virtual {v12}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v16

    .line 1453
    .local v16, name:Landroid/content/ComponentName;
    const-string v21, "android.intent.action.MAIN"

    invoke-virtual {v12}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v22

    invoke-virtual/range {v21 .. v22}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v21

    if-eqz v21, :cond_3

    if-eqz v16, :cond_3

    .line 1454
    invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;

    move-result-object v21

    move-object/from16 v0, p1

    move-object/from16 v1, v21

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v21

    if-eqz v21, :cond_3

    .line 1456
    invoke-virtual {v15, v11}, Lorg/zeam/LauncherModel;->removeDesktopItem(Lorg/zeam/ItemInfo;)V

    .line 1457
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object/from16 v21, v0

    move-object/from16 v0, v21

    move-object v1, v11

    invoke-static {v0, v1}, Lorg/zeam/LauncherModel;->deleteItemFromDatabase(Landroid/content/Context;Lorg/zeam/ItemInfo;)V

    .line 1458
    move-object v0, v5

    move-object/from16 v1, v20

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 1441
    .end local v11           #info:Lorg/zeam/ApplicationItemInfo;
    .end local v12           #intent:Landroid/content/Intent;
    .end local v16           #name:Landroid/content/ComponentName;
    :cond_3
    :goto_3
    add-int/lit8 v13, v13, 0x1

    goto :goto_1

    .line 1461
    :cond_4
    move-object/from16 v0, v18

    instance-of v0, v0, Lorg/zeam/UserFolderInfo;

    move/from16 v21, v0

    if-eqz v21, :cond_3

    .line 1463
    move-object/from16 v0, v18

    check-cast v0, Lorg/zeam/UserFolderInfo;

    move-object v11, v0

    .line 1464
    .local v11, info:Lorg/zeam/UserFolderInfo;
    iget-object v6, v11, Lorg/zeam/UserFolderInfo;->contents:Ljava/util/ArrayList;

    .line 1465
    .local v6, contents:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/ApplicationItemInfo;>;"
    new-instance v19, Ljava/util/ArrayList;

    const/16 v21, 0x1

    move-object/from16 v0, v19

    move/from16 v1, v21

    invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V

    .line 1466
    .local v19, toRemove:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/ApplicationItemInfo;>;"
    invoke-virtual {v6}, Ljava/util/ArrayList;->size()I

    move-result v7

    .line 1467
    .local v7, contentsCount:I
    const/16 v17, 0x0

    .line 1469
    .local v17, removedFromFolder:Z
    const/4 v14, 0x0

    .local v14, k:I
    :goto_4
    if-lt v14, v7, :cond_5

    .line 1484
    move-object v0, v6

    move-object/from16 v1, v19

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->removeAll(Ljava/util/Collection;)Z

    .line 1485
    if-eqz v17, :cond_3

    .line 1486
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getOpenFolder()Lorg/zeam/Folder;

    move-result-object v9

    .line 1487
    .local v9, folder:Lorg/zeam/Folder;
    if-eqz v9, :cond_3

    .line 1488
    invoke-virtual {v9}, Lorg/zeam/Folder;->notifyDataSetChanged()V

    goto :goto_3

    .line 1471
    .end local v9           #folder:Lorg/zeam/Folder;
    :cond_5
    invoke-virtual {v6, v14}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lorg/zeam/ApplicationItemInfo;

    .line 1472
    .local v2, appInfo:Lorg/zeam/ApplicationItemInfo;
    iget-object v12, v2, Lorg/zeam/ApplicationItemInfo;->intent:Landroid/content/Intent;

    .line 1473
    .restart local v12       #intent:Landroid/content/Intent;
    invoke-virtual {v12}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v16

    .line 1475
    .restart local v16       #name:Landroid/content/ComponentName;
    const-string v21, "android.intent.action.MAIN"

    invoke-virtual {v12}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v22

    invoke-virtual/range {v21 .. v22}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v21

    if-eqz v21, :cond_6

    if-eqz v16, :cond_6

    .line 1476
    invoke-virtual/range {v16 .. v16}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;

    move-result-object v21

    move-object/from16 v0, p1

    move-object/from16 v1, v21

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v21

    if-eqz v21, :cond_6

    .line 1478
    move-object/from16 v0, v19

    move-object v1, v2

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 1479
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object/from16 v21, v0

    move-object/from16 v0, v21

    move-object v1, v2

    invoke-static {v0, v1}, Lorg/zeam/LauncherModel;->deleteItemFromDatabase(Landroid/content/Context;Lorg/zeam/ItemInfo;)V

    .line 1480
    const/16 v17, 0x1

    .line 1469
    :cond_6
    add-int/lit8 v14, v14, 0x1

    goto :goto_4

    .line 1495
    .end local v2           #appInfo:Lorg/zeam/ApplicationItemInfo;
    .end local v6           #contents:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/ApplicationItemInfo;>;"
    .end local v7           #contentsCount:I
    .end local v11           #info:Lorg/zeam/UserFolderInfo;
    .end local v12           #intent:Landroid/content/Intent;
    .end local v14           #k:I
    .end local v16           #name:Landroid/content/ComponentName;
    .end local v17           #removedFromFolder:Z
    .end local v18           #tag:Ljava/lang/Object;
    .end local v19           #toRemove:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/ApplicationItemInfo;>;"
    .end local v20           #view:Landroid/view/View;
    :cond_7
    invoke-virtual {v5, v13}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Landroid/view/View;

    invoke-virtual {v3, v2}, Lorg/zeam/CellLayout;->removeViewInLayout(Landroid/view/View;)V

    .line 1494
    add-int/lit8 v13, v13, 0x1

    goto/16 :goto_2
.end method

.method public requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
    .locals 2
    .parameter "child"
    .parameter "rectangle"
    .parameter "immediate"

    .prologue
    .line 633
    invoke-virtual {p0, p1}, Lorg/zeam/Workspace;->indexOfChild(Landroid/view/View;)I

    move-result v0

    .line 634
    .local v0, screen:I
    iget v1, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-ne v0, v1, :cond_0

    iget-object v1, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v1}, Landroid/widget/Scroller;->isFinished()Z

    move-result v1

    if-nez v1, :cond_2

    .line 635
    :cond_0
    iget-object v1, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v1}, Lorg/zeam/Launcher;->isWorkspaceLocked()Z

    move-result v1

    if-nez v1, :cond_1

    .line 636
    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 638
    :cond_1
    const/4 v1, 0x1

    .line 640
    :goto_0
    return v1

    :cond_2
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public scrollLeft()V
    .locals 2

    .prologue
    const/4 v1, -0x1

    .line 1319
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1320
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-eq v0, v1, :cond_0

    .line 1321
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    iput v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 1322
    iput v1, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 1324
    :cond_0
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-ne v0, v1, :cond_1

    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    if-lez v0, :cond_1

    .line 1325
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    const/4 v1, 0x1

    sub-int/2addr v0, v1

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 1327
    :cond_1
    return-void
.end method

.method public scrollRight()V
    .locals 3

    .prologue
    const/4 v1, -0x1

    .line 1331
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 1332
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-eq v0, v1, :cond_0

    .line 1333
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    iput v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 1334
    iput v1, p0, Lorg/zeam/Workspace;->mNextScreen:I

    .line 1336
    :cond_0
    iget v0, p0, Lorg/zeam/Workspace;->mNextScreen:I

    if-ne v0, v1, :cond_1

    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v1

    const/4 v2, 0x1

    sub-int/2addr v1, v2

    if-ge v0, v1, :cond_1

    .line 1337
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    add-int/lit8 v0, v0, 0x1

    invoke-virtual {p0, v0}, Lorg/zeam/Workspace;->snapToScreen(I)V

    .line 1339
    :cond_1
    return-void
.end method

.method public setAllowLongPress(Z)V
    .locals 0
    .parameter "allowLongPress"

    .prologue
    .line 1426
    iput-boolean p1, p0, Lorg/zeam/Workspace;->mAllowLongPress:Z

    .line 1427
    return-void
.end method

.method setCurrentScreen(I)V
    .locals 3
    .parameter "currentScreen"

    .prologue
    const/4 v2, 0x0

    .line 312
    invoke-direct {p0}, Lorg/zeam/Workspace;->clearVacantCache()V

    .line 313
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    const/4 v1, 0x1

    sub-int/2addr v0, v1

    invoke-static {p1, v0}, Ljava/lang/Math;->min(II)I

    move-result v0

    invoke-static {v2, v0}, Ljava/lang/Math;->max(II)I

    move-result v0

    iput v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    .line 314
    iget v0, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0}, Lorg/zeam/Workspace;->getWidth()I

    move-result v1

    mul-int/2addr v0, v1

    invoke-virtual {p0, v0, v2}, Lorg/zeam/Workspace;->scrollTo(II)V

    .line 315
    invoke-virtual {p0}, Lorg/zeam/Workspace;->invalidate()V

    .line 316
    return-void
.end method

.method public setDragger(Lorg/zeam/DragController;)V
    .locals 0
    .parameter "dragger"

    .prologue
    .line 1293
    iput-object p1, p0, Lorg/zeam/Workspace;->mDragger:Lorg/zeam/DragController;

    .line 1294
    return-void
.end method

.method public setDrawWallpaper(Z)V
    .locals 2
    .parameter "drawWallpaper"

    .prologue
    .line 1638
    iput-boolean p1, p0, Lorg/zeam/Workspace;->mWallpaperDraw:Z

    .line 1639
    iget-boolean v0, p0, Lorg/zeam/Workspace;->mWallpaperDraw:Z

    if-eqz v0, :cond_0

    iget-object v0, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {v0}, Landroid/app/WallpaperManager;->getWallpaperInfo()Landroid/app/WallpaperInfo;

    move-result-object v0

    if-nez v0, :cond_0

    .line 1640
    const/4 v0, 0x0

    iput-boolean v0, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    .line 1644
    :goto_0
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    iget-boolean v1, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    invoke-virtual {v0, v1}, Lorg/zeam/Launcher;->setWindowBackground(Z)V

    .line 1645
    return-void

    .line 1642
    :cond_0
    const/4 v0, 0x1

    iput-boolean v0, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    goto :goto_0
.end method

.method public setElasticScrolling(Z)V
    .locals 3
    .parameter "enabled"

    .prologue
    .line 1657
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getContext()Landroid/content/Context;

    move-result-object v0

    .line 1658
    .local v0, context:Landroid/content/Context;
    new-instance v1, Lorg/zeam/Workspace$OvershootInterpolator;

    invoke-direct {v1, p1}, Lorg/zeam/Workspace$OvershootInterpolator;-><init>(Z)V

    iput-object v1, p0, Lorg/zeam/Workspace;->mOvershootInterpolator:Lorg/zeam/Workspace$OvershootInterpolator;

    .line 1659
    new-instance v1, Landroid/widget/Scroller;

    iget-object v2, p0, Lorg/zeam/Workspace;->mOvershootInterpolator:Lorg/zeam/Workspace$OvershootInterpolator;

    invoke-direct {v1, v0, v2}, Landroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V

    iput-object v1, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    .line 1660
    iput-boolean p1, p0, Lorg/zeam/Workspace;->mElasticScrolling:Z

    .line 1661
    return-void
.end method

.method setLauncher(Lorg/zeam/Launcher;)V
    .locals 2
    .parameter "launcher"

    .prologue
    .line 1286
    iput-object p1, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    .line 1287
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    if-eqz v0, :cond_0

    .line 1288
    iget-object v0, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    invoke-virtual {v0}, Lorg/zeam/Launcher;->getScreenIndicator()Lorg/zeam/ScreenIndicator;

    move-result-object v0

    iget v1, p0, Lorg/zeam/Workspace;->mScreenCount:I

    invoke-virtual {v0, v1}, Lorg/zeam/ScreenIndicator;->setItems(I)V

    .line 1290
    :cond_0
    return-void
.end method

.method public setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
    .locals 3
    .parameter "onLongClickListener"

    .prologue
    .line 398
    iput-object p1, p0, Lorg/zeam/Workspace;->mLongClickListener:Landroid/view/View$OnLongClickListener;

    .line 399
    invoke-virtual {p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v0

    .line 400
    .local v0, count:I
    const/4 v1, 0x0

    .local v1, i:I
    :goto_0
    if-lt v1, v0, :cond_0

    .line 403
    return-void

    .line 401
    :cond_0
    invoke-virtual {p0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v2

    invoke-virtual {v2, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V

    .line 400
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method public setScrollWallpaper(Z)V
    .locals 0
    .parameter "scrollWallpaper"

    .prologue
    .line 1649
    iput-boolean p1, p0, Lorg/zeam/Workspace;->mWallpaperScroll:Z

    .line 1650
    invoke-virtual {p0}, Lorg/zeam/Workspace;->postInvalidate()V

    .line 1651
    return-void
.end method

.method public setWallpaper(Z)V
    .locals 4
    .parameter "fromIntentReceiver"

    .prologue
    const/4 v3, 0x1

    const/4 v2, 0x0

    .line 1617
    iget-object v1, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {v1}, Landroid/app/WallpaperManager;->getWallpaperInfo()Landroid/app/WallpaperInfo;

    move-result-object v1

    if-nez v1, :cond_0

    iget-boolean v1, p0, Lorg/zeam/Workspace;->mWallpaperDraw:Z

    if-nez v1, :cond_1

    .line 1619
    :cond_0
    iput-boolean v2, p0, Lorg/zeam/Workspace;->mWallpaperLoaded:Z

    .line 1620
    const/4 v1, 0x0

    iput-object v1, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    .line 1621
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    .line 1630
    :goto_0
    iget-object v1, p0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    iget-boolean v2, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    invoke-virtual {v1, v2}, Lorg/zeam/Launcher;->setWindowBackground(Z)V

    .line 1632
    invoke-virtual {p0}, Lorg/zeam/Workspace;->invalidate()V

    .line 1633
    invoke-virtual {p0}, Lorg/zeam/Workspace;->requestLayout()V

    .line 1634
    return-void

    .line 1623
    :cond_1
    if-nez p1, :cond_2

    iget-object v1, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    if-nez v1, :cond_3

    .line 1624
    :cond_2
    iget-object v1, p0, Lorg/zeam/Workspace;->mWallpaperManager:Landroid/app/WallpaperManager;

    invoke-virtual {v1}, Landroid/app/WallpaperManager;->getDrawable()Landroid/graphics/drawable/Drawable;

    move-result-object v0

    .line 1625
    .local v0, drawable:Landroid/graphics/drawable/Drawable;
    check-cast v0, Landroid/graphics/drawable/BitmapDrawable;

    .end local v0           #drawable:Landroid/graphics/drawable/Drawable;
    iput-object v0, p0, Lorg/zeam/Workspace;->mWallpaperDrawable:Landroid/graphics/drawable/BitmapDrawable;

    .line 1626
    iput-boolean v3, p0, Lorg/zeam/Workspace;->mWallpaperLoaded:Z

    .line 1628
    :cond_3
    iput-boolean v2, p0, Lorg/zeam/Workspace;->mLiveWallpaperSupport:Z

    goto :goto_0
.end method

.method snapToScreen(I)V
    .locals 1
    .parameter "whichScreen"

    .prologue
    .line 1018
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Lorg/zeam/Workspace;->snapToScreen(II)V

    .line 1019
    return-void
.end method

.method startDrag(Lorg/zeam/CellLayout$CellInfo;)V
    .locals 6
    .parameter "cellInfo"

    .prologue
    const/4 v5, 0x0

    .line 1059
    iget-object v0, p1, Lorg/zeam/CellLayout$CellInfo;->cell:Landroid/view/View;

    .line 1061
    .local v0, child:Landroid/view/View;
    iget-boolean v3, p0, Lorg/zeam/Workspace;->mPreviews:Z

    if-nez v3, :cond_0

    iget v3, p0, Lorg/zeam/Workspace;->mStatus:I

    const/4 v4, 0x4

    if-eq v3, v4, :cond_1

    iget v3, p0, Lorg/zeam/Workspace;->mStatus:I

    const/4 v4, 0x2

    if-eq v3, v4, :cond_1

    .line 1063
    :cond_0
    invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v2

    check-cast v2, Lorg/zeam/CellLayout$LayoutParams;

    .line 1065
    .local v2, layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    iput-boolean v5, v2, Lorg/zeam/CellLayout$LayoutParams;->isDragging:Z

    .line 1075
    .end local v2           #layoutParams:Lorg/zeam/CellLayout$LayoutParams;
    :goto_0
    return-void

    .line 1068
    :cond_1
    iput-object p1, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    .line 1069
    iget-object v3, p0, Lorg/zeam/Workspace;->mDragInfo:Lorg/zeam/CellLayout$CellInfo;

    iget v4, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    iput v4, v3, Lorg/zeam/CellLayout$CellInfo;->screen:I

    .line 1070
    iget v3, p0, Lorg/zeam/Workspace;->mScreenCurrent:I

    invoke-virtual {p0, v3}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Lorg/zeam/CellLayout;

    .line 1071
    .local v1, currentCellLayout:Lorg/zeam/CellLayout;
    invoke-virtual {v1, v0}, Lorg/zeam/CellLayout;->onDragChild(Landroid/view/View;)V

    .line 1073
    iget-object v3, p0, Lorg/zeam/Workspace;->mDragger:Lorg/zeam/DragController;

    invoke-virtual {v0}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v4

    invoke-interface {v3, v0, p0, v4, v5}, Lorg/zeam/DragController;->startDrag(Landroid/view/View;Lorg/zeam/DragSource;Ljava/lang/Object;I)V

    .line 1074
    invoke-virtual {p0}, Lorg/zeam/Workspace;->invalidate()V

    goto :goto_0
.end method

.method public togglePreviews(Z)V
    .locals 4
    .parameter "open"

    .prologue
    const-wide/16 v2, 0x0

    const/4 v1, 0x1

    .line 1669
    iget-object v0, p0, Lorg/zeam/Workspace;->mScroller:Landroid/widget/Scroller;

    invoke-virtual {v0}, Landroid/widget/Scroller;->abortAnimation()V

    .line 1670
    invoke-virtual {p0}, Lorg/zeam/Workspace;->enableChildrenCache()V

    .line 1671
    if-eqz p1, :cond_0

    .line 1673
    iput-boolean v1, p0, Lorg/zeam/Workspace;->mPreviews:Z

    .line 1674
    iput-boolean v1, p0, Lorg/zeam/Workspace;->isAnimating:Z

    .line 1675
    iput-boolean v1, p0, Lorg/zeam/Workspace;->mAllowLongPress:Z

    .line 1676
    iput v1, p0, Lorg/zeam/Workspace;->mStatus:I

    .line 1677
    iput-wide v2, p0, Lorg/zeam/Workspace;->mStartTime:J

    .line 1684
    :goto_0
    return-void

    .line 1679
    :cond_0
    iput-boolean v1, p0, Lorg/zeam/Workspace;->mPreviews:Z

    .line 1680
    iput-boolean v1, p0, Lorg/zeam/Workspace;->isAnimating:Z

    .line 1681
    const/4 v0, 0x2

    iput v0, p0, Lorg/zeam/Workspace;->mStatus:I

    .line 1682
    iput-wide v2, p0, Lorg/zeam/Workspace;->mStartTime:J

    goto :goto_0
.end method

.method public unlock()V
    .locals 1

    .prologue
    .line 1414
    const/4 v0, 0x0

    iput-boolean v0, p0, Lorg/zeam/Workspace;->mLocked:Z

    .line 1415
    return-void
.end method

.method updateShortcutsForPackage(Ljava/lang/String;)V
    .locals 26
    .parameter "packageName"

    .prologue
    .line 1506
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getChildCount()I

    move-result v9

    .line 1507
    .local v9, count:I
    const/4 v12, 0x0

    .local v12, i:I
    :goto_0
    if-lt v12, v9, :cond_0

    .line 1576
    return-void

    .line 1508
    :cond_0
    move-object/from16 v0, p0

    move v1, v12

    invoke-virtual {v0, v1}, Lorg/zeam/Workspace;->getChildAt(I)Landroid/view/View;

    move-result-object v17

    check-cast v17, Lorg/zeam/CellLayout;

    .line 1509
    .local v17, layout:Lorg/zeam/CellLayout;
    invoke-virtual/range {v17 .. v17}, Lorg/zeam/CellLayout;->getChildCount()I

    move-result v8

    .line 1511
    .local v8, childCount:I
    const/16 v16, 0x0

    .local v16, j:I
    :goto_1
    move/from16 v0, v16

    move v1, v8

    if-lt v0, v1, :cond_1

    .line 1507
    add-int/lit8 v12, v12, 0x1

    goto :goto_0

    .line 1512
    :cond_1
    move-object/from16 v0, v17

    move/from16 v1, v16

    invoke-virtual {v0, v1}, Lorg/zeam/CellLayout;->getChildAt(I)Landroid/view/View;

    move-result-object v20

    .line 1513
    .local v20, view:Landroid/view/View;
    invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTag()Ljava/lang/Object;

    move-result-object v15

    .line 1515
    .local v15, itemInfo:Ljava/lang/Object;
    move-object v0, v15

    instance-of v0, v0, Lorg/zeam/ApplicationItemInfo;

    move/from16 v22, v0

    if-eqz v22, :cond_4

    .line 1517
    move-object v0, v15

    check-cast v0, Lorg/zeam/ApplicationItemInfo;

    move-object v5, v0

    .line 1518
    .local v5, applicationItemInfo:Lorg/zeam/ApplicationItemInfo;
    iget-object v14, v5, Lorg/zeam/ApplicationItemInfo;->intent:Landroid/content/Intent;

    .line 1520
    .local v14, intent:Landroid/content/Intent;
    invoke-virtual {v14}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v18

    .line 1521
    .local v18, name:Landroid/content/ComponentName;
    move-object v0, v5

    iget v0, v0, Lorg/zeam/ApplicationItemInfo;->itemType:I

    move/from16 v22, v0

    if-eqz v22, :cond_2

    .line 1522
    move-object v0, v5

    iget v0, v0, Lorg/zeam/ApplicationItemInfo;->itemType:I

    move/from16 v22, v0

    const/16 v23, 0x1

    move/from16 v0, v22

    move/from16 v1, v23

    if-ne v0, v1, :cond_3

    .line 1523
    :cond_2
    const-string v22, "android.intent.action.MAIN"

    invoke-virtual {v14}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v23

    invoke-virtual/range {v22 .. v23}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v22

    if-eqz v22, :cond_3

    if-eqz v18, :cond_3

    .line 1524
    invoke-virtual/range {v18 .. v18}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;

    move-result-object v22

    move-object/from16 v0, p1

    move-object/from16 v1, v22

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v22

    if-eqz v22, :cond_3

    .line 1526
    invoke-static {}, Lorg/zeam/Launcher;->getModel()Lorg/zeam/LauncherModel;

    move-result-object v22

    .line 1527
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object/from16 v23, v0

    invoke-virtual/range {v23 .. v23}, Lorg/zeam/Launcher;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v23

    move-object/from16 v0, v22

    move-object/from16 v1, v23

    move-object v2, v5

    invoke-virtual {v0, v1, v2}, Lorg/zeam/LauncherModel;->getApplicationItemInfoIconOrNull(Landroid/content/pm/PackageManager;Lorg/zeam/ApplicationItemInfo;)Landroid/graphics/drawable/Drawable;

    move-result-object v13

    .line 1529
    .local v13, icon:Landroid/graphics/drawable/Drawable;
    if-eqz v13, :cond_3

    move-object v0, v5

    iget-object v0, v0, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    move-object/from16 v22, v0

    move-object v0, v13

    move-object/from16 v1, v22

    if-eq v0, v1, :cond_3

    .line 1531
    const/16 v22, 0x1

    move/from16 v0, v22

    move-object v1, v5

    iput-boolean v0, v1, Lorg/zeam/ApplicationItemInfo;->filtered:Z

    .line 1532
    move-object v0, v5

    iget-object v0, v0, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    move-object/from16 v22, v0

    const/16 v23, 0x0

    invoke-virtual/range {v22 .. v23}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V

    .line 1533
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getContext()Landroid/content/Context;

    move-result-object v22

    move-object v0, v13

    move-object/from16 v1, v22

    invoke-static {v0, v1}, Lorg/zeam/Utilities;->createIconThumbnail(Landroid/graphics/drawable/Drawable;Landroid/content/Context;)Landroid/graphics/drawable/Drawable;

    move-result-object v22

    move-object/from16 v0, v22

    move-object v1, v5

    iput-object v0, v1, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    .line 1534
    check-cast v20, Landroid/widget/TextView;

    .line 1535
    .end local v20           #view:Landroid/view/View;
    const/16 v22, 0x0

    move-object v0, v5

    iget-object v0, v0, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    move-object/from16 v23, v0

    const/16 v24, 0x0

    const/16 v25, 0x0

    .line 1534
    move-object/from16 v0, v20

    move-object/from16 v1, v22

    move-object/from16 v2, v23

    move-object/from16 v3, v24

    move-object/from16 v4, v25

    invoke-virtual {v0, v1, v2, v3, v4}, Landroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V

    .line 1511
    .end local v5           #applicationItemInfo:Lorg/zeam/ApplicationItemInfo;
    .end local v13           #icon:Landroid/graphics/drawable/Drawable;
    .end local v14           #intent:Landroid/content/Intent;
    .end local v18           #name:Landroid/content/ComponentName;
    :cond_3
    add-int/lit8 v16, v16, 0x1

    goto/16 :goto_1

    .line 1538
    .restart local v20       #view:Landroid/view/View;
    :cond_4
    move-object v0, v15

    instance-of v0, v0, Lorg/zeam/UserFolderInfo;

    move/from16 v22, v0

    if-eqz v22, :cond_3

    .line 1540
    move-object v0, v15

    check-cast v0, Lorg/zeam/UserFolderInfo;

    move-object/from16 v19, v0

    .line 1541
    .local v19, userFolderInfo:Lorg/zeam/UserFolderInfo;
    move-object/from16 v0, v19

    iget-object v0, v0, Lorg/zeam/UserFolderInfo;->contents:Ljava/util/ArrayList;

    move-object v7, v0

    .line 1542
    .local v7, applicationItemInfos:Ljava/util/ArrayList;,"Ljava/util/ArrayList<Lorg/zeam/ApplicationItemInfo;>;"
    invoke-virtual {v7}, Ljava/util/ArrayList;->size()I

    move-result v6

    .line 1544
    .local v6, applicationItemInfoCount:I
    const/16 v21, 0x0

    .local v21, y:I
    :goto_2
    move/from16 v0, v21

    move v1, v6

    if-ge v0, v1, :cond_3

    .line 1546
    move-object v0, v7

    move/from16 v1, v21

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Lorg/zeam/ApplicationItemInfo;

    .line 1547
    .restart local v5       #applicationItemInfo:Lorg/zeam/ApplicationItemInfo;
    iget-object v14, v5, Lorg/zeam/ApplicationItemInfo;->intent:Landroid/content/Intent;

    .line 1548
    .restart local v14       #intent:Landroid/content/Intent;
    invoke-virtual {v14}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v18

    .line 1550
    .restart local v18       #name:Landroid/content/ComponentName;
    move-object v0, v5

    iget v0, v0, Lorg/zeam/ApplicationItemInfo;->itemType:I

    move/from16 v22, v0

    if-eqz v22, :cond_5

    .line 1551
    move-object v0, v5

    iget v0, v0, Lorg/zeam/ApplicationItemInfo;->itemType:I

    move/from16 v22, v0

    const/16 v23, 0x1

    move/from16 v0, v22

    move/from16 v1, v23

    if-ne v0, v1, :cond_7

    .line 1552
    :cond_5
    const-string v22, "android.intent.action.MAIN"

    invoke-virtual {v14}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v23

    invoke-virtual/range {v22 .. v23}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v22

    if-eqz v22, :cond_7

    if-eqz v18, :cond_7

    .line 1553
    invoke-virtual/range {v18 .. v18}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;

    move-result-object v22

    move-object/from16 v0, p1

    move-object/from16 v1, v22

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v22

    if-eqz v22, :cond_7

    .line 1555
    invoke-static {}, Lorg/zeam/Launcher;->getModel()Lorg/zeam/LauncherModel;

    move-result-object v22

    .line 1556
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object/from16 v23, v0

    invoke-virtual/range {v23 .. v23}, Lorg/zeam/Launcher;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v23

    .line 1555
    move-object/from16 v0, v22

    move-object/from16 v1, v23

    move-object v2, v5

    invoke-virtual {v0, v1, v2}, Lorg/zeam/LauncherModel;->getApplicationItemInfoIconOrNull(Landroid/content/pm/PackageManager;Lorg/zeam/ApplicationItemInfo;)Landroid/graphics/drawable/Drawable;

    move-result-object v13

    .line 1558
    .restart local v13       #icon:Landroid/graphics/drawable/Drawable;
    const/4 v11, 0x0

    .line 1559
    .local v11, folderUpdated:Z
    if-eqz v13, :cond_6

    move-object v0, v5

    iget-object v0, v0, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    move-object/from16 v22, v0

    move-object v0, v13

    move-object/from16 v1, v22

    if-eq v0, v1, :cond_6

    .line 1560
    move-object v0, v5

    iget-object v0, v0, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    move-object/from16 v22, v0

    const/16 v23, 0x0

    invoke-virtual/range {v22 .. v23}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V

    .line 1561
    move-object/from16 v0, p0

    iget-object v0, v0, Lorg/zeam/Workspace;->mLauncher:Lorg/zeam/Launcher;

    move-object/from16 v22, v0

    move-object v0, v13

    move-object/from16 v1, v22

    invoke-static {v0, v1}, Lorg/zeam/Utilities;->createIconThumbnail(Landroid/graphics/drawable/Drawable;Landroid/content/Context;)Landroid/graphics/drawable/Drawable;

    move-result-object v22

    move-object/from16 v0, v22

    move-object v1, v5

    iput-object v0, v1, Lorg/zeam/ApplicationItemInfo;->icon:Landroid/graphics/drawable/Drawable;

    .line 1562
    const/16 v22, 0x1

    move/from16 v0, v22

    move-object v1, v5

    iput-boolean v0, v1, Lorg/zeam/ApplicationItemInfo;->filtered:Z

    .line 1563
    const/4 v11, 0x1

    .line 1565
    :cond_6
    if-eqz v11, :cond_7

    .line 1566
    invoke-virtual/range {p0 .. p0}, Lorg/zeam/Workspace;->getOpenFolder()Lorg/zeam/Folder;

    move-result-object v10

    .line 1567
    .local v10, folder:Lorg/zeam/Folder;
    if-eqz v10, :cond_7

    .line 1568
    invoke-virtual {v10}, Lorg/zeam/Folder;->notifyDataSetChanged()V

    .line 1544
    .end local v10           #folder:Lorg/zeam/Folder;
    .end local v11           #folderUpdated:Z
    .end local v13           #icon:Landroid/graphics/drawable/Drawable;
    :cond_7
    add-int/lit8 v21, v21, 0x1

    goto/16 :goto_2
.end method
